Option to count double bone rotation as simple one bone rotation for save pose preset

Issue #547 closed
engetudouiti created an issue

It is only about save pose preset, and how convert import rig, bend, twist (dobule) bone rotation value for Daz bone correctly.

basically if user only use default rig and pose as FK. (I do not test default IK though), and use twist and bend separatelly, it seems can save pose preset correctly. (user not twist bend bones but only twist, twist bones)

But I found some issue, when I retarget rig and bake animation. the reason is relate with how we made MHX rig to get double bone rotation (work separatelly for twist and bend) and at same time snap work perfect.

it actually work same as daz, but at same time when retarget animation to default rig, (about retarget no issue. and bake no issue)

save as pose preset (duf), it cause some complex issue. with some bone locked (in daz studio) and use alias, and how you convert and generate the pose (animation) duf.

To make things simple, when retarget rig, I change bone map relation (MHX bones <> default rig) when I save pose preset for daz.

because I remember, when I import FBX , it need to set bone map, then at that time I confrim only use bend bone for posing as FBX rig, and map bones , then import as FBX. worked well.

It is because, daz FBX importer, try to auto change, bend bone twist rotation as twist bone rotation. then use bend bone other rotation as bend bone rotation (usually one axis only, other property are locked for daz)

So I hope, when you save pose preset (duf) for daz,, which offer simple rig option,

with activate the option. add on work , Only use bend bone rotation value for daz rig pose.

that means,

blender rig bend bone twist = daz twist bone twist

blender rig bend bone bend = daz bend bone bend

not import twist bone rotation at all.

to work this option, user simply avoid to include any twist bone pose. (but only use bend bone for twist rig)

it should work better, when user retarget MHX animation to def rig, then bake it >> save as pose prest.

at current add on actually strictly use default rig rotation = bend bone twist rotation value never used for daz bend bone and daz twist bone. (if I say wrong correct it please, but when I test with real animaiton which only use bend bone for all rotation, and save as pose preset, I clear see, add on not use any bend bone twist rotation value for daz rig (do not auto apply for twist bone twsit) = not twist arm or leg .

Comments (7)

  1. engetudouiti reporter

    what I means, when I retarget MHX rig to daz def rig, I avoid to use the twist bone intentionally. like above pic. As you can see, I use MHX snap bones (it divide for twist and bend rotation) , and retarget these bone for bend bone only.

    If I set-up so,, in blender it show slightly different deform. (because MHX try to deform bone by twist and bend separatelly), but retarget def rig only use bend bone for all pose (for twist too).

    The merit of this set up, it can remove (ignore) all twist bone rotation. (so make things simple when convert for daz pose, like we set import FBX rig map which only use bend bone for all axis rotation. not retarget to twist bone)

    But add on not convert it for daz rig when save as pose preset correclty.

    because add on not count or seems not correctly apply , bend bone twist rotation any more, but try to use twist bone rotation for twist. (yes it is correct ) then I hope,

    if add on offer another option which manage rig as single bone chain rig, for save poes preset.

    which convert Blender Bend bone twist value = Daz twist bone twist value.

    The animation may never include Blender twist bone rotation = always keep 0 rotaiton as if single chain FK rig.

    But when save as pose preset, it simply use Blender bend bone twist as Daz twist bone twist value with the new option.

    it should work without complex problem.

    I suppose, after load pose preset. it deform mesh (daz rig use twist bone only for twist), almost same deform as MHX. (and not need to think about complex daz bone lock etc = may offer usually more stable animation conversion (blender MHX to Daz ), which we made in blender and MHX (IK , FK)

  2. engetudouiti reporter

    There is another way to retarget as single bone rotation (only use bend bone),

    https://bitbucket.org/Diffeomorphic/import_daz/issues/540/mhx-shin-bone-option-daz-way-or-default

    but it need to change MHX rig constrain by user. (same logic can use for all bend and twist rimbs,

    it make MHX rig as simple single bone rig (so all IK , FK limb rotation controlled by bend bone only)

    then, make animation by MHX >> retarget to default rig (bend bone to bend bone). >> bake animaiton.

    but which way I use, after all when save as pose preset, it not use (maybe remove? ) the bend bone twist , then when load the animation.duf in daz, it usually show wrong pose.

    If I do not use such conversion (simply map and bake double bone rotation to default rig), then save pose preset, basically it work well for daz rig, but I see some issue. (some rotation added or removed for those double bone limb in daz studio bend and twist bone. Then daz strictly lock and set hidden, some bone rotaiton >> usually it cause issue when I load , saved pose preset.

    So I may hope, if you add such option for save as pose preset. (only use bend bone rotation, and convert it to work for daz rig (bend bone + twist bone rotation separatelly)

    by use bend bone only,, it make me easy to check which daz option may show different pose for some specific pose. (so if it becom clear, I suppose I can avoid to make such pose with MHX , even though I use double bone set up. and retarget.

  3. engetudouiti reporter

    Though I describe many why I think it need, and how I use it, etc,^^; but the option what I hope is,

    “when I pose default rig bend bone for twist, (un locked) and make pose (do not touch twist bone at all) then save pose preset,, the new option will auto convert bend bone twist value. for daz twist bone twist value and generate duf. = when load the pose, it may twist twist bone. it only used to convert MHX animation and load it in daz. (not expect to load the pose.duf for blender again, though I think it still work (it simply return the twist for twist bone)

  4. Thomas Larsson repo owner

    The last commits does this, I think. In mhx, the rotations of the limb bones are split, so the bend bone gets the bend rotations and the twist bone gets the twist rotation. In addition, locked rotations in general are not included in the pose preset by default.

  5. engetudouiti reporter

    Thanks I will test it (now I set up MHX rig only use bend bone for pose just for retarget test when it show problem for pose preset in daz.

    As I menitoend already, basically it need not for most of case (so user keep bone as same as daz for default rig)

    And I believed we set MHX, it never twist , bend bone. but when I retarget to default rig,

    (config map ,, bend bone <> bend bone, twist bone <> twist bone) then bake it as FK animation, I could catch some bend bone twist value (I do not know why it happen though but show value I can not ignore)

    and after save the animation by save as pose preset >> load same character in daz, I see only some frame (a few), it not show same limb (arms) pose. because daz never use bend bone for twist.

    Then I hope to test it (use only bend bone, then not consider how we twist twist bone, and transfer it for daz rig (it keep to use double bone for limb)

    at same time, I suppose there should be user, who use bend bone as twist (usually I often forget it, because I try to free rotate the angle. and not check everytime I twist the bend bone or not ^^;) so the option still useful. to auto correct the case.

  6. engetudouiti reporter

    I think it seems specific issue when I pose preset for default rig animation. anyway thanks you add new option. I still serching best option (retarget MHX > bake to default rig >> save animation for daz studio), but it is not my main workflow. then I may send report when I found problem for each specific pose of default rig. with compare each option how work.

  7. Log in to comment