Innards of "conforming"
rames44
Posts: 330
I've been using DAZ for a while, and am now getting interested in diving deeper. For me, at least, that usually turns into "wanting to know how the nuts and bolts operate."
Could someone explain some of the internal details of how conforming objects are built and implemented? (mostly commonly clothing, of course, but not restricted to that)
Here's what I think I know based on everything I've read:
- Conforming objects have their own rigging and morphs
- The low-level DSON format for a node_instance within a scene provides a conform_target that can sort of "bond" the conforming item to the item to which it is conforming
- When manipulations are made on the node identified as the conform_target, they get replicated back to the conforming item. This is how, for example, morphs to a figure that change its shape or rigging bends get reflected back to the clothing or whatever - the same transformations are automagically applied to the conforming item.
- The easiest way to get the appropriate rigging and morphs into a conforming item is to use the Transfer Utility
So here are some of the questions:
- How is an object "marked" as being able to conform to a target? How does DAZ know to set the "conform_target" to the item selected in the scene as opposed to just creating a new "unattached" instance of the object you're inserting?
- What (specifically) is it that DAZ uses to correlate things like rigging between the target and the that in the conforming object? Is it the low-level object ID for each of the bones, morphs, etc? This could be significant if, for example, one wanted to create something that both conformed, but also had non-conforming rigging. A set of angel wings comes to mind - you'd want to conform to the character's back, but you wouldn't want the wing rigging getting dragged around because it inadvertently got "attached" to some other part of the figure's rigging.
- When a morph or rigging setting in the target gets altered, is the corresponding item in the conforming object essentially set to the same value, as opposed to the transformation on the target mesh being replicated? Put otherwise, if I alter the rigging or the morph in the comforming item, is it things like the percentages that get copied, as opposed to the exact mesh translations, meaning that edited morphs could be used to alter exactly how the item "conformed" to the target?
- How does the Transfer Utility "know" how to attach the rigging and the morphs to the mesh of the conforming object? Does this depend on starting off with a clone of the original figure mesh so that there is a one-for-one correspondance between the mesh points?
- How does the Transfer Utility "know" what parts of the rigging and the morphs not to replicate? Conforming hair doesn't (usually LOL) have foot bones.