ERC a prop parented to Genesis for use with the DSON Importer: Possible?
I'm working on an update for the hand figures for the DSON side of Bot Genesis but am having trouble getting past a road block. I wonder if someone keen on ERC can help me. I figured this might be the right place to post because it involves set up in DAZ Studio.
I'm trying to find my way around an obscure bug in Poser that mangles certain conforming figures where bones that don't have more than one child bone are present. Specifically, if you dial up a character like Freak 4, then conform a glove to Genesis, then parent a prop to one of the gloves fingers, then that finger mesh flips way out backwards. Essentially, this is what is going on with my hand figures for Bot Genesis.
To get around this, DAZ developers found that if I add an extra child bone to each of the figure's fingers and then parent the props to Genesis's fingers (instead of the hand figure), then the hand figure mesh pops back to normal placement. At that point, though, ERC is broken in Poser and the mechanical finger props can't be scaled to fit various characters via the control. Mind you the ERC is not broken in DAZ Studio: The controller in the hand figure is still able to scale the props even though they are now parented to Genesis. As an alternative I have tried placing the control in Genesis and then saving out a morph asset and a Wearable and then creating the proper DSON Companion files, but the control still does nothing in Poser.
I think my paths for formulas are correct but maybe somehow the order that things get loaded is a problem for Poser or the DSON Importer. Maybe I need a script?
Comments
As far as I know saved ERC does not link scales - it used to, but that led to problems as scale automatically follows (and that's why, if you look at the log after loading an older dsf item, you will see lots of warnings relating to scale links). I suspect you might need a Python script, if ERC is the only way to go.
Thanks Richard,
In DS, ERC scale of each prop works fine for me as long as I specify "Save With Sub-Component" and then save out the prop as an asset. DS then writes the formula to the prop dsf and all is good. There are 23 mechanical finger props in each hand, including sockets, so having a single control that can also be managed by Character morph presets (controls) is pretty useful. So when you dial up the Freak or Basic child, you get automatic scaling of the mechanical finger parts from their joint centers. Socket and ball at each joint share the same centers, so it all scales in proportion.
Originally, it was thought that rigidity would have done the job, but a method of keeping the geometry of the mechanical joints exactly at the center point of the bone is not currently an option. So although I was able to keep the shape of mechanical figure parts through rotation and character morphs, using flooded weight maps and rigidity, I couldn't keep the geometry at the joint centers (which is needed for realistic mechanical movement) because each character has different bone placement. So it seems like parented props and "Point At" were the only way to accommodate Genesis's many shapes and sizes.
Again, I can get Poser to accept the ERC just fine if the props are parented to the hand figure. And the hand figure doesn't mangle if the props are parented to Genesis. So I'm stuck at the moment with either horrible disfigurement of the hands or no ERC for the mechanical parts. I'm so close to real success I can taste it and yet... Well, the developers seem busy again, so I thought maybe you or another big brain might be able to help.
I probably do need a script, but first I thought I need to figure out why Poser won't recognize the ERC on Genesis. I was speculating that since the morph assets for Genesis are loaded with Genesis, that the ERC breaks because the props aren't present until the user loads the wearable. Does that seem right? If so then I need to inject the control into Genesis after the Wearable has been loaded and not before.
I'm not sure how the DSON Importer handles figure references - a raw CR2 or PP2 should be able to link to another figure, though since it does it by number it's sensitive to load order and selection state but whether the DSON process can translate that in principle or in practice I don't have a clue.
Hey, thanks Richard! You've given me another idea I hadn't considered (loading a raw CR2, etc.). I'm starting to think load order does have something to do with the problem. Last night I tried applying the changes I've made as a Scene Subset rather than a Wearable and found some improvement. Things were still not right but they were less jacked up and the scale ERC still worked. I think if I compare the code of my wearable and the scene subset I might be able to beat this.