Finger controls of bodymorphs of G8F broken?
So, I’m not sure if this has already been reported, but the fist-grasp-etc. morphs of the Body Morphs category in G8F figures look like this:
Currently have 4.1 stable version.
It’s like that both on a fresh character out of Daz and an older one.
Seems like the finger morphs are like that, but others work just fine, even FACs and units.
Comments (8)
-
-
reporter But it’s not on MHX, just the regular Daz armature and happens even on a fresh import
-
repo owner - changed status to open
-
repo owner This is actually the only thing that has changed in the dev version after version 4.1.0, cf issue
. The driver for the fist morphs use spline TCB drivers in DS, which are now translated into expressions with smoothstep in Blender. But something clearly goes wrong when we change the left hand fist slider.#2070
The driver for the thumb and fingers fist morphs are
a+(smoothstep(0,0.3,2*(b)) if b<0.5 else smoothstep(0.3,1,2*(b-0.5))) a+(smoothstep(0,0.8,2*(b)) if b<0.5 else smoothstep(0.8,1,2*(b-0.5)))
where a = 0 in this case and b is the value of the hand fist morph.
-
repo owner OK, I had misunderstood how the smoothstep function works. After reading the docs the driving expressions for the thumb and fingers fists are now
a+(0.3*smoothstep(0,0.5,b) if b<0.5 else 0.3+0.7*smoothstep(0.5,1,b)) a+(0.8*smoothstep(0,0.5,b) if b<0.5 else 0.8+0.2*smoothstep(0.5,1,b))
which gives a nice continuous fist.
-
repo owner We can actually optimize the drivers to
a+(0.3*smoothstep(0,0.5,b)+0.7*smoothstep(0.5,1,b)) a+(0.8*smoothstep(0,0.5,b)+0.2*smoothstep(0.5,1,b))
-
4.1.0.2150
My bad, I didn’t check for intermediate values I just scrubbed to zero and one and didn’t notice the in-betweens. The new commit works fine here thank you for the fix.
-
- changed status to resolved
- Log in to comment
4.1.0.2148
Works fine here, unless there’s specific steps. For mhx you have to disable “finger ik” and import “mhx compatible“ body morphs, either use IK or body morphs you can’t use both.
my steps:
alt steps: