Hope to see some more tweak shape bones for MHX

Issue #267 resolved
engetudouiti created an issue

I return MHX again ^^; because it can pose more quick (without lag) and it fit for my current prupose.

Then what I hope is,, when play with rigi-fy there were many tweakable boen, I can move free only for re-adjust shape as bone posing, llike face bones.

Though I do not know detail but maybe it is almost same, drv or constrain bone and child weighted deform bone relation.

basically we do not use those tweak bones, so it is only for filnal adjust ment to adjust shape detail with current posing.

without import any morphs. (only deform as weight- map and it is not driven and not constrain, just move free, then when posing they folow each paraent with keep local relative location.

Can you add some spaine tweakable bone etc?

I remember before there was request add r- and l- hip shape bones but it need to change weight map but other part bones maybe ,we can use same weight of daz offered.. like around pelvis or torso bones.

I tried to manage bone setting (connected or not) etc,, but ideally if you offer as divided shape controller bone around torso or knee etc, like rigi-fy ,, I really apreciate..

===
OK now I test spine bones, it seems work,, hope Thomas check rig and hieralhcy please. I do not use constrain. but maybe same things can do with constrain. new tweak bones grouped as tweak (but use original bone name for weight map)

so if you feel may better change name, maybe need to change mesh vertex group name too. (though I do not think it need,,, but hope you add cute tweak bone shape, if you can,,, with sub rig layer (tweak body ) etc,,, if you commits..

Comments (30)

  1. Thomas Larsson repo owner

    Perhaps you could add them to an mhx armature and upload the blend file. But as you said, only new bones, no changes in vertex groups.

  2. engetudouiti reporter

    Yes I suppose I could. I may try with some bones later..and up-load again, if it worked.

    maybe it just need copy current spine bones, and change hielarclhy. for torso bones (but not include in IK chains)

    Then I think, you offer socket bones, for arms and legs, then it move child bones too. I suppose if there is switch option, to change how it work.. (only the part deform is useful to adjust around sholder and leg socket,, I suppose.

    Though I do not know, if those free socket bones may need to reset transform vallues whhen exchange IK <> FK. maybe at current you made so I thnk.

  3. engetudouiti reporter

    I gradually test to add new tweak-bones for main spine bones.

    I think,, “spine chain” keep same as before, but change bone name with prefix (at current use Drv)

    then they move with master controll (because they are simply copied from each original spin bones) with constrain.

    but each main spine bones (drv) have child bones individually = pose (tweak) bones.

    actually bone weight is mapped for those tweak bones, so to keep weight map , I set name as same as before,

    but ideally,,, maybe I will rename those bone and change vertex group name.. (spine >> spine_twk, spine1 >>spine1_twk)

    then actually use drv bones for main pose (so it keep same hieralchy and constrain as original bones, then each tweak bones will folow each drv-bones. (at current just parented,, but maybe I can use copy constrain with off-set, do not know which work better)

    then when only I hope to tweak bone around shape individually, I use tweakl bone (mapped mesh with weight).

    Then node hieralchy change like this (at current I only add 2 tweak-bones (= original spine bones name) and 2 drv-bones.

    I may need to check if it break IK FK switch .. (but I keep torso chain, so hope it not cause any issue,, only import pose may not work any more, they need to mapped for drv bones. now (like you add pose controller, and import pose)

    Do you think it may break some constrain or posed way? I hope to know if it cause problem.

    it is almost same, when I first try to add drv bones for tongues. if I mix use scale etc,, it may show different pose. so tweak bones only need final adjust ment, after pose with master bones.

    I can imagine, add new copy bones with constrain, etc,, but I like current MHX clean rig arrangement, so hope to keep bones as same as before without add new constrains..

    ====
    So I just copy current hieralchy with prefix drv.. then add new poseable bone as each child . (then those child bones move mesh vertex group with weight map ) master pose controll move drv bones.

    then those tweak bone may need new shape.. (so I can see it is for tweak only ) , drv bones use same shape as same as before (main pose bones user use for spine)

  4. engetudouiti reporter

    Yes it seems work,, thanks MHX not add too many complex bones which effect.😁

    I may at least add full spine tweak bones.. and check if I can do same thing for pelvis (hip),

    maybe in IK limb chain I can not do it right? (I feel maybe sholder can add those,,but you already offer socket, so I do not know if it need or not, at current socket move all chain of the limb)

    ====
    Only thing at current I can not decide, leg socket will be parented for Hip (free move tweak) or HipDrv (main pose mode)

    at current I parented with HipDrv… (maybe it is right?) so can move (tweak) hip bone to adjust shape, (scale translate, rotate), but leg socket not follow it,, I feel it is better. after I finish (try) with sholder etc,, may up-load rig only, so thomas check please.

    at least full spine bones (from hip to neck) maybe we can add free tweak bones. (though it just copied of original)

    then it can offer more twekable shap rig I feel, with keep stability as sam as before (main bone eg loc or limits properties need not change) 😁

  5. Thomas Larsson repo owner

    I added an extra layer of spine bones in the latest commit, not entirely sure if that is what you want.

    The socket bones are controlled with the ArmHinge and LegHinge properties in the MHX properties panel. I still haven’t gotten around to write up-to-date docs on MHX, but the documentation that I wrote for Makehuman a long time ago is still more or less valid: https://thomasmakehuman.wordpress.com/mhx2-documentation/the-mhx-rig/.

    MHX is still my preferred rig. Rigify is very fance, but there is a lot that happens under the hood that I don’t understand, and it is not very natural when you want to import poses, either from duf or bvh files.

  6. engetudouiti reporter

    So I up-date and tried … No ^^; It is not rig what I requested ,, it not offer any usable new bone to adjust shape individually without effect other part meshes. The problem is, you need to keep same hieralchy about all drv bones as same as default spine bones which you had made so.

    so each drv bones need to be parented with other drv bones. I made so, then set up copied bones correctly. but you do not make it so.. you parented drv bones with tweak bones.. so it just add new bones but each bones still not change shape individually..

    I must offer rig with genesis 3 default meshes scene, so you may check how it work.. (as I said master pose bone now change each_drv bones. but you still tweak each torso bones (which have assgind with weight map) (so those bones no need to lock location etc,, you can free tweak it (but not heavy defomation, it is for detail modify only) ..

    So I hope you may temporally hide this commits, (and I suppose you did not know why it need ^^;)

    And you may need to set limit rotation for those drv bones (current main pose bones) as same as before, but you need not each child bones (though now it have same name but work as tweak bones) limit rotation.. it need to set for the parent drv bones.

    So basically if user do not touch tweak bones, it work as same as before. because all torso bone just change name with Drv.

    but each Drv bones have individual one child bones with weight for mesh.. and just parented (if user do not touch it)

    then user can move free tweak bones when they need. (they are child bones of each drv_bones,, so it can move free).

    please test with mhxtweakg3 blend file. it now show posing mesh.

    only thing I could not copy those rotation limits (which need to be set for drv-bones, not for free move tweak bone)

    and all free move bones need not set location lock at all. so we can free move them for adjust ment. if they locked, we can only use rotaion… so check please hieralchy, and what change from your new commit rig please

  7. engetudouiti reporter

    eg at current I happend to forget to remove (hide) limit rotation about hips, but please hide the constrain, and just move hip as you like then see if it seems useful for animation or adjust some detail with mix use other tweak bones as you like

    (scale each axis, or transform up and down, then move hinge too(which you have offered) though it may not show perfect smooth shape deform but sometimes it solve un-necessary weight effect too.

    Then if you fee, too much moved for those tweak bones, you simply reset pose ,then move main bones (_drv) as same as before, with shape widgt. then try again some additional defomation ,or make more slim for only torso parts.. it is why tweak bones need.

  8. engetudouiti reporter

    And if you think it is not bad idea,, hope you add same bone for neck,, (but only change the neck shape as free move)

    so we can adjust neck size with keep current head pose and scale etc.. if we do not use tweak bones, we need to change the neck relation. and it may effect all child bones .. so divide tweak bones (it can free move and only change shape which assgined weight) but keep original bone hieralchy with constrains .. location limit ,, to keep stablility is useful for me. (without it everytime user need to change bone setting, and return again and again then may lost default setting too)

  9. engetudouiti reporter

    Then one more thing,, at current the zip include scene not set bone layer correctly. because I only edit hieralchy and some setting of bones..

    So it remain current commit bone layer setting.

    At current Teak bones layer show drv bone, and Spine bones layer show Tweak bones (but it name as torso etc without any stufix,, because we need to keep vertex group name,, hope you understand,, )

    So to set bone layer ,, all XXXDrv bones which added need to locate as Spine bones. (so we pose it with shape widgt)

    then set each spine bones (red colored as group) need to locate on Tweak bones layer. At current , those 2 bone group set as reverse. (so you think my bone setting as reverse meaning,, I suppose)

    And I exchanged shape widgt too.. I hope to use same default shape widgt for drv bones (because they are main pose)

    then remove those from tweak bones.. (though it not offer good visuall, then I request to set shape as hinge (GZM_Ball025) as this pic.

    but ideally they need to locate on each torso bones middle place.. (It is how rigi-fy show ,,though you need not do same thing)

    then hip bone need to adjust the shape position if we use same ball for the widgt shape. or they set as origin, then make it difficult to select the hip (it wil be located same place of torso (tweak) shape, I think.

  10. engetudouiti reporter

    And,,, so I know if you set bone so,, you need to change bone assginement when import pose duf ^^;

    from each tweak bones (default bone name) to drv bones.. so posed file only move those drv bones. if it tried to those tweak bones (default name bones),, pose file can easy mess up. because each tweak bones not parented.. and connected, not have limit.

    (then I suppose it can not be offered as one quick commits ^^; so now I dsicribe them. what may cause issue.

  11. engetudouiti reporter

    If add tweak bones along with my request, I hope it can offer merits . so may hope you plan to add one more button “add tweak spine bones” for MHX rig. then I may test or if it not work, you perfectly remove it. Then you can keep default MHX rig as same as before.

    There are many user who use MHX, so if current commit rig auto generated, they may think who request such things. ^^;

    This request is almost same as “add Extra face bones” . which you kindly offered with my request to pose facial bone as free, but keep controller. (then you needed to add drv bones )

    you keep all facial bones name , then you do not need to change vertex group name of meshes. they are still deform bone.. but original bones hielalchy change name with drv.. then they will be posed by driver. (or controller). about this case,, athere is no driver . so user manually bend drv bones, or use master controll constrain then pose those drv spine bones.. or import pose duf may only pose those drv bones. drv bones are used to make base pose. (it need to show same pose as same as before)

    then when user need to adjust shape with current pose,, try to use child “tweak bones” of tweak layer withtout any limit or constrain.

    (you may say when make facial base pose,, 1 use controller = move drv bones. if you have. then add some tweak for individuall facial bones, manually)

    relation between drv bones and child tweak bones may change for the purpose and hieralchy. about this case,,basically all drv bone need to keep it as same as before.. (so drv bones parent should be drv bones. untill spine end) then can move each spine tweak bones free.

    Then in my scene there is no genital bones,, but merged genital parts bones (anus or gen) need to be parented by Hips not HipDrv.

    because hip area deform (or pose) individually with hip bone. So it need to move those grafted parts too.. if they are parented with hipsDrv. then user tweak hips bones,, genital parts remain the place = only show strange shape deform. it is not good.

    (though user still adjust genital shape with use those merged bones, basically when tweak Hip , those mesh need to follow)

    And lPectoralDrv , RPectroalDrv need to be parented by Chest (it is exceptional case). (I forget it set up ><;) then when user tweak Chest , breast move along with + adjust more with Pectrol bones. (it already offered)

  12. Thomas Larsson repo owner

    OK, now I understand what you are saying, and I agree that it is useful. Tweak bones have been added in the last commit. The underlying bone keep their names, though, and the names of the tweak bones are changed by adding “Twk” at the end. Changing the bone name magically changes vertex group names, too. My naming convention is necessary for pose loading to work, and also so you can use old actions.

  13. engetudouiti reporter

    Wao really thanks if you could do it (yes I supposed if you like to change bone name so,, but afraid to change current group name,,when user hope to append and change rig etc from old mhx scene.

    So ideally I still hope you it offer as option button, then it not cause any problem for current users (I really afraid my frequent request make bad other user experience of current plug in,, then even though it take time,, hope you offer it as option untill we can confrim no user complain about it,, basically keep default is good for user who have used it with their way..)

    And I tried to document how to make it manually (so I thought you can read it, then convert as script) I think it may useful to udnerstand what change,, (though how to set name etch may differ)

    =====

    caution, if someone follow this,, as thomas said blender magically change vertex group of all attached items mesh with armature

    when deform bone name changed, ^^; (so if you try it, once you need to remove armature modifier,, I remember this with Thomas reply,, so please take care,, if you try manually to add new spine bones

    (then already thomas offer as auto-mate in this add on, thanks!!) 😅

    1 Rename spine bones which you add tweak bones. with add stufix (Drv etc). (to work stable, you may better not try it for limb bones (in IK chain bones))
    those drv bones are mainly used for posing (with master controller, manuall pose, import pose etc)

    2 keep constrain, limit, lock which copied from original. if there was driver, you may need to change driver target bone to drv bone.
    (about MHX I could not found such driver as default, but if they are driven , need to change dirver target as drv bone)

    3 set bone layer for those drv bones = "Spine"

    4 "copy" each drv bones then return name without stufix like (Torso , hips etc) they work as deform (weight map) and tweak bone.
    so now all tweak bones locate in same place of the parent drv bones.

    5 remove constrain, limit , lock of transform for those tweak bones to work free.

    6 set parent = drv bones(hipDrv, spineDrv) for each tweak bones (Hip, spine)

    7 Only when each torso bone have extra child bones which not include in spine chain, (like pectoral drv (and pecoral), merged child grafted bones) set parent = tweak bones (not drv bones)

    8 set bone layer for those tweak bones = "Spine(detail)" or "Tweak"

    9 change conversion bone map name for import pose.duf from tweak bone name ("Hips") to Drv bone "HipsDrv"
    (Sorry I do not know how you manage those change, but I suppose you did it with conversion table)

    10 if there is jcm it driven with bone transform, basically I believe it need to be driven by drv bones.
    (so only when drv bones rotate, jcm work, but when user locally move tweak bones, it not effect jcm.. )

    ================

    As user side

    1. set pose with drv bones (if they are) as main. with use import pose, or driver or main controller and manuall pose as same as before
    2. then when you hope to tweak individuall part scale (for each component, or slide or rotate) use those tweak bones.

    eg if you tweak then try to move master bone, or import pose, it move drv bones. all tweak bones (actuall deform bones) simply move as child . but you already move it so pivot is not those tweak bones, but use drv bones pivot.. then you may feel it is not expected. when you hard tweak (transform) those bones.

    though after all we may mix use as we like.. just remember how tweak bones deform and may move with import pose, or master controller.

  14. engetudouiti reporter

    Hehe😎 I expectaed if thomas may add other tweak bones (I supposed maybe it work for leg etc but did not push it because I could not confirm it,, but really thanks you do what I epxect without new request 🤣

  15. Thomas Larsson repo owner

    So I have been tweaking this more. There are now new tweak bones for the neck, elbow, knee and the hips bone. Instead of treating pectorals and gens bones specially, the normal case is that children are children of the tweak bones, and only in exceptional cases they are children of the base bone. The reason is that the exceptions are known but bones that might be added are not.

    The hips bone (i.e. pelvis) does not get a custom shape, because its head is located far away. Maybe I should add a ball at the tail of the bone instead.

  16. engetudouiti reporter

    I see thanks,, I add new about hipTwk,, it is one of my key twk bones, (I know you offer 2 socket but it move as socket, then hipTwk only move around hip mesh,, so both offer slightly different defomation,, mix use is actually best for me ^^

    then consider please.. 😉

  17. engetudouiti reporter

    Now I could find new hip bone^^ thanks,, I may expect you will change the shape . at current user may feel it is one of master pose bones, when activate tweak with Spine.) but it is small issue.

    I may keep this topic, untill you close. thanks take time for stupid request (I like tweak shape) ^^;

  18. Thomas Larsson repo owner

    When revisiting the MHX rig, I made a change that I have long considered: change the names of the hip bones from root/hips to hip/pelvis. The MHX rig was constructed almost a decade ago and worked well then, but they are confusing when working with daz rigs, and root is used for the master bone by rigify. However, I added a conversion tool in the Advanced Setup > Rigging section so old actions can still be used with new mhx rigs, and vice versa.

  19. engetudouiti reporter

    New names for those key bones is reasonable for me..😀 And thanks conversion tool! As you said, blender auto change all atached vertex group (assgined for pose bone) so it is good to re-use (append etc) other scene items.

    I play again gaze or each props, eg eye gaze switch etc, they work well.

    (I sometimes think, if there is way, when we exchange gaze (from widgt to none (manuall)) current eye keep the visual transform position. if I find good way I may report someday, though it seldom happen, but for character render, the eye angle is important, so usually for final render, I manualy move with camera face view carefully. then there is case, after roughly adjust eye postion with gaze, turn manuall)

    (actually I am long time MHX user , so I read almost every HMX 2 related documents for make human or re-target animation (there were some tutoriall in you tube, which offered other player) but I easy forget,, then now read again with play mhx, for me current rig already well enough for my G3 characters. thank you!!!)

  20. engetudouiti reporter

    I found you can add one more tweak bones for heel.L and heel.R. those 2 bones are still remain weight-map then can be used to deform for MHX converted rig.

    But to use it at current we need to activate hidden last layer from property bone layer,

    Though I do not care to add custom shape for those 2 bones, but I suppose you can add 2 tweak heel bones for heel as parent of those.

    then as same as other bones, we do not change limit or lock for the real deform bone = heel R and L

    but move free heel tweak R and L may keep same strcutrue which you already offered I suppose.😀

    (I test with IK and FK about both case, the heel bone work as simple deform for body mesh)

  21. engetudouiti reporter

    Hm I change mind, the bone seems have parent drv bones as parents, so I think it seems better just add shape for those 2 and set visible.

    as same as Extra bones (L R pectoral) then actually it work as tweak bones.. (though as default it set lock for transform but to deform detail, I do not think we need to lock Heel.R and L. (driver bone need to set limit and Lock I suppose)

  22. Thomas Larsson repo owner

    Custom shapes for pects and heels have been added, but only if they have been made posable before. If they are driven they are put on a hidden layer. Thus, you must make them posable before converting to mhx.

    The custom shapes for the two chest bones have also been moved, so they are located closer to their parent bones.

  23. engetudouiti reporter

    Thomas I can not find new issue at current, can we close this topic? (or Can I depend you when close topic?)

  24. Log in to comment