MHX shin bone option (daz way or default)

Issue #540 resolved
engetudouiti created an issue

I can not offer sample as soon to keep all strucutre of MHX FK and IK leg but at least I feel we can make Shin bone not use double rotation, Twist and Bend for FK and IK..

MHX separate, Shin bone as Shin-bend and Shin-twist it is not problem. because as default, it only means divide one Shin bone weight as 2 bone weight (when convert MHX).

Without constrain bend and twist bone, if user not hope to twist bend bone , he only use twist bone as Shin twist, if he hope to use Shin as one bone, he only twist Shin-bend bone (and bend or side-side) (so how the rig work depend user)

At current, MHX actually do daz double bone weight (double quartanion rig) way, which used for Thigh or fore-arm, or shoulder (mhx upper arm), it only use each-twist bone for twist, and only use each-bend bone for bend and (side-side) by constrains.

The problem is, if we import pose from daz figure to MHX convert rig,

daz do not set double bone for Shin at least for G3 and G8. G8.1. that means,

Daz simply use the one Shin bone general weight for twist deform (Y rotate usually)

On the other hand,

MHX only use divided Shin-twist bone weight as Shin twist.(bend bone weight map never used for twist rotation , it try to keep the Y rotation as 0 by constrain)

so shin twist bone weight-map is only used to deform Shin when we twist Shin. (IK auto set and FK twist). (see below pic)

That means, to get more colose effect of daz when twist shin, it need to use the MHX Shin bend bone weight-map too, (because these 2 weight map are simply divided from One Daz bone I suppose)

If we compare weight for Shin in daz (this pic show g3 but G8 almost same)

I suppose MHX can offer, 2 option for Shin, (which not use double bone weight separately = daz wah, or use double bone weight) for pose import or user need to get same pose effect about Shin , with change constrain setting.

(If it need to change hieralchy it may only offer non animatable option, if it can controll by constrain setting, it can be offered as animatable option (though I do not think we need it as animatable, but it may need to offer as toggle when ever user can swap it for current purpose)

I may offer sample scene and rig , constrain setting, when I confirm both mode work with keep current all function and stable snap for both option. (or Thomas try it please, I suppose it is not so difficult. you need not change weight etc, just gather 2 bone which controlled by shin bend bone only = shin bend used for all rotation. (additionaly if user hope to add or controll twist by shin-twist do as user responsibility, without it shin-twist auto rotate as child of bend bone)

Of course default option may better to keep it as same as before. I can not decide which way is good (double bone set-up usually offer more smooth rotation deform. when it manually color weight, but about this case, it not.. so shin twist maybe show weak deform as real)

Comments (15)

  1. engetudouiti reporter

    Yes the good thing is, MHX already seprate chain as3, so it was really easy ,I only need to change constrain setting of Shin.twist and Shin.bend..

    I only needed to add copy rotation for Shin.bend for all X Y Z of Shin bone.

    When Shin bone rotate (X, Y, Z) >> Shin-bend bone now rotate same way = use it weight map for twist too.

    then Shin-twist is child of Shin-Bend, I hide copy rotation. because it need not for this set up.

    shin-twist will just follow Shin-bend rotation. as child bone, then the bone weight map is used when shin-bend twist.

    I do not hurry about this issue, and not Thomas try to quick add it as new toggle option (because it may easy some miss interpret ^^;)

    why I may hope it will work,, I now currently try to retarget for default rig, and save some pose preset (which need to work daz and blender both). retarget is perfect, but when I import it as daz pose preset, it somehow change, then one reason seems related this (and bone rotation limit is wrong ) then I hope to make such opton, convert MHX pose <> Daz pose easy and more precise.

  2. engetudouiti reporter

    So what I need is, to convert daz Shin type rig

    for

    shin.bend.L / R

    1 (must) add copy rotation as 3rd constrain, then set rotation target as shin.L / R

    2 (as you like) hide the dump constrain (non active) (because now shin.bend simply copy all shin rotation, do not need to dump (but not twist) the point.

    for

    shin.twist.L / R

    1 (as you like), if you do not hope to keep constrain, hide copy rotation . (because it just copy rotation from shin.L / R. it only need when shin.bend.L / R not twist. = child shin.twist.L / R not twist too. then copy the rotaiton for shin.L

    now shin.bend.L simply follow the shin.L rotation. = child shin.twist.L follow it.

    then now shin.L twist = shin.bend.L twist >> child bone shin.twist.L twith = use both weight map when shin twist.

    ==

    so it is actually simple enought, then if it need to add as option, I hope offered as toggle, (then we can retrun default. anytime we need. (and maybe the toggle option can set key on and off if user need it , because it not touch rig hieralchy at all, only change constrain setting.)

    when I compare these 2 setting, one thing I can clear found, when rotate shin before, only the shin below mesh deform.

    now as same as daz it slightly deform( twist) shin and Thigh joint area mesh. because shin bend, have weight for those area too. (I confirm it is almost same deform when I twist shin in daz studio)

  3. engetudouiti reporter
    • changed status to open

    I re-open this request, (self closed)

    because it seems better for most of import pose conversion or manually pose for G3 which twist Shin.

    Shinbone.JPG

    As we can see, even though most new generation figure G8.1 still not devide twsit and bend for Shins. so if we separate then only use twist bone for twist deform, at least the pose and deform of shin shape easy change. though we can still use real deform bone = twk bones. but, it may better at least,,offer option, when user twist Shin it not use 2nd twist bone, but simply twist the 1st bend bone = daz way For Shin. (but other bone use 2nd twist bones as same as daz)

    At current I manually set up so (as described above) , it only need to change some bone constrain setting. as I described.

  4. engetudouiti reporter

    Actuall set up image

    For Shin.bend.R / L (must need)

    Add Copy rotation then copy the Shin.R/L

    (at same time hide the Dumped track which used for double bone rotation, about Shin we need not)

    then Shin bone twist >> Shin.bend twist too

    For Shin.twist R/L

    Hide un-necessary constrain (though it not effect ) with this set-up. now Shin.twist simply follow parent Shin.bend twist.

    devide as 2 bone for Twist offer smooth bone bend and twist. but at least to re produce daz deform, (and it use same weight map (bend + twist) = one shin bone) , use same bone for twist actually show how daz character twist Shin and deform. or it show weak deform (only lower part mainly twist and deform) when character twist Shin with MHX (it is same about IK and FK)

    At same time to keep the double bone Shin rotation way as same as before , I may hope Thomas add it as option (then only change constrain setting), for double Shin bone ( current way), just hide new added constrain, and activate (which hide for single Shin twist) can offer, new shin twist / double bone twist as user option.

    (so you need not change rig or remove bone, but control by constrain setting (hide/activate) only. And it never cause performance issue.

    I do not attach new image, but if you do not know how it effect real pose, I may add it. (it actually show clear difference. when twist Shin)

  5. engetudouiti reporter
    • changed status to open

    mm,, I test with up-date both (check build number) and can find new option. Shin rotate daz way.. then select rig >> activate them which I did not modify so, I do not see new constrain for already generate shin.bend (R and L) and it not hide track to. then I confrim with bone visible, when I twist shin, it still twist shin twist (2nd bone) only.

    To it work, I might need to re-generate MHX from default rig once?

    (and thanks you offer IK finger as option for MHX ^^)

  6. engetudouiti reporter

    I see, it worked when I re-generate MHX .. (ideally,,,if you make it work for already generate rig,, really apreciate…(or function button as advanced, generate new props (mute) and new constrain) but if it is too complex,, I close this as solved thanks)

  7. Thomas Larsson repo owner

    Added tool Advanced Setup > Rigging > Update MHX Shin to update old mhx rigs. It is only temporary though, because I want to remove it before version 1.6.0 is released, hopefully not too far into the future.

  8. engetudouiti reporter

    Thanks OK I understand, untill 1.60 released I convert current rigs (if I use the new option) I only need the option for recent mhx rig. (separated with mhx rts add on) other scene rig may not need it.

  9. Log in to comment