Need option make ID props for attached object, (not character rig) then it drive each mesh shape key.

Issue #320 closed
engetudouiti created an issue

it is related with #97 somehow but the reason is different.

Usually I only hope to use Character rig controller for all. then set drivers for pose controller, and all mesh shape keys,to get it work, plug in offer option generate driver. when import morphs.

Most of case it work . but current way have one limitation, because all morphs of atached meshes will be driven by character rig ID props (then we see it as UI controller)

ID props can not manage complex type props. (eg we can not make dictionary as ID prop value), then plug in use morph name (or controller name) to generate them.

That means, there is no way, if there is same name shape keys (when import morphs or made by user) for different mesh object, to controll separately.

eg,, now you have shape key “move-right” you may generate it as you like for all attached mesh, then hair have “move-right” and clothing have “move-right” ,then if we do not use driver, we simply use each shape key to move individually.

but, when set driver for rig ID props to controll them from add on panell, it never work as expected. because add on generate only one rig ID props rig[“move-right”] .

custom morph category ican only manage how show this ID prop in UI panell. so after all if we set driver for hair and clothing “move-right”, it can generate only one custom props.

User may plan to set category for same ID prop , then distinguish hair and clothings, but it simply show same ID prop, as different category controller, then it drive both. To solve this, need set different ID prop key when same shape key name are used.. but it simply complex to use it for other function. and key becom dirty.

But if set props for each mesh, like hair[“move-right”] , dress[“move-right”], it can drive each shape key without complex issue. .I rememver old version actually can choose how generate morph props . it seems need to return for asset morphs which need to work individually.

of course user who controll all with select character rig, may not use it. (but they can not complain, when you happend to make same name shape key in attached meshes, your controller can not work as you expected, and you may see some strange issue, when use smart retarget functions to re-use other scene assets etc)

or you may think, about the case only use shape key panell. yes it work but at same time actually serch those without UI controller, you may take more time.

So when import custom morph for attached items, or when user make custom shape key by user, which need to change value individually (not tranfsered body morphs and not morphs which need to move with body morph like PBM, vendor custom made to follow charadter PBM ), add on need option to set driver for each assets, then we can controll them from add on UI , with select each mesh.

I did not think it seriously before, but after all I think we may choose it for many case. the more you import many assets, and re-use them which saved in different scenes, etc.

Though I hope to controll all by one rig with caegory, actually it never happen. or need to change how generate controller ,and it make non stable I suppose.

Comments (41)

  1. engetudouiti reporter

    There may be another way, I can suppose to manage same-name shape key controller to be shown in UI panell, one way is add prefix for ID prop key witch may represent category (or each object clear)

    eg when add driver for custom morph with category, use the category name as prefix. then the converted string become key string for the ID prop. rig[“assetname_shapekeyname”]

    or plug in auto set category as mesh name. (so your category auto set as item name (labell) then use the category name as same as above.

    but to work those, user need to follow same rules. it can not be expected. we like to set category name as we like. and assetname becom long string. or we can not distinguish ponytailA and ponytailB. (both item can be attached current rig, )

    On the other hand, add option to set driver for each props , not change other user work-flow. at same time forgive user import or make same name shape-key , with keep current way to set ID prop key string.

    And it is useful when append those item to current scene rig. because they keep all ID prop and driver for those custom morph shape keys in self.. (even though you happend to remove rig when save scene) then you do not need to retarget driver for current scene rig. (only transfered shape keys (jcm etc) which may need to be controlled by rig prop, you need to retarget driver for current scene rig.

  2. engetudouiti reporter

    Then I do not request to make it soon.😀 because you may need to clean up already offered function etc for stable release version which include many up-date things.

    and keep things not so complex, but hope gradually change. then there should be case which need to consider ..

    eg,, when user import hair rig controller, etc.. at current I only mention , simple shape key morphs. which will be imported by each assets. and the driver target ID prop.

    So import custom morph (with driver) default = attach ID prop for rig as same as before. or I may recommend keep the function, without new option. (I may not set driver import those morphs), then may hope to use “add shape keys driver” with new option.

    Current “add shape key driver” can not add ID prop for the selected object. and I can not find other function which can do it.

    How show those ID prop as UI controller may need more consider. but as start point, I do not need complex one. about those ID prop , I may need not category. because they may only visible, when I select each prop.

    Daz offer some option how show controllers in parameter tab, so if user hope and request

    (eg when select rig, show all attached (children) item morph controller in same panell. with asset name group. (we may not complain how it will be shown),

    If UI panell work so, there is no difference for usablity to controll morphs. (we need not select each item)

  3. engetudouiti reporter

    Then as future, I hope you add import “self morph” options. (I can not imagine good name)

    current “import custom morph” can not distinguish 2 different type morph for clothing

    (clothing shape keys which need change value with body morph value (mimic transfer system), or clothing shape keys which expected change value individually)

  4. Thomas Larsson repo owner

    If I understand you correctly, you want to dial different object shapekeys with the same name independently. This behaviour cannot be the default, as we normally want transferred morphs (JCMs and others) to have the same value as the corresponding body morph. As you noted, you can remove the driver and access the value in the mesh context. If you need it in the N-panel, you could create extra dummy armatures like this:

    When you load a custom morph, it will be driven by properties of its immediate parent, so by selecting different dummy armatures you change different meshes. The armature modifiers must still point to the main armature, and the dummy armatures must be parented to the main armature to handle object transformations. If you put the dummy armatures in separate collections, this setup should work with file linking too, if you proxify all three armatures.

  5. Thomas Larsson repo owner

    For some reason the shapekey drivers did not update correctly when they are loaded, unlike if we import morphs driven by the main armature. The Update All button worked for me after I changed the code a little. It is moved to the Utilities panel.

  6. engetudouiti reporter

    Yes actually your idea is what I hope to do. It seems one idea which may make it work .

    at same time, I may not hope to generate new armatures if I I can..😅

    but if it is what you currently offer, I may try to use it.

    I understand current behavor about morphs mostly made to achieve daz auto transfer morphs (from body to other mesh) or import and overwrie transer morphs by vendor offered one for “clothing , hair”. then it not suppose mach to import those individual clothing morphs.

    What I request was, more simple one. as start point, anyway, hope to see new option about “add shape keys driver” function. like “set id prop for self object”. when I select each.

    with the new option, it not generate ID prop as Rig object ID prop, but as self mesh object ID prop. I may manually distinguish each shape key, (tarnsfer morph and individual morph) if you add new option then add ID prop for self object with shape key name. (only about those shape keys)

    hair[“side to right”], hair[“expand all”], clothing[“expand all”] like these.Then set driver target of shape key. at same time show those ID props, when I select the attached object (hair , skirt) etc.(without it, there is no meaning to attach new ID prop which drive self shape keys,,)

    ecently I often append or remove many items from library file,,, then I noticed actually I often generate those individual type shape keys, then hope to remain them..and there should be case I make “Expand all” shape keys for all clothings and actually this should happen when import those clothing morphs for each daz item. (actually vendor offer costume set, may include same name controller for each assets, though it is not matter about daz because daz keep each asset rig (I do not mean this plug in do same thing), then though if you can add custom prop for each mesh (not rig) only for those morphs.

    if it is too match work,,(add such option), I may not hope to request, to add generate new armatures just for this purpose. (maybe simply keep to use shape keys, or challenge to generate UI controller only for those shape keys, as different panell with Pin system. (blender 2.92 can Pin each add on panell, then recently I often use my preset system with your add on without change tab)

  7. engetudouiti reporter

    “When you load a custom morph, it will be driven by properties of its immediate parent,”

    It is good to know,,, 😀 I did not think so long time,, (not test ), I believed you serch rig which attached by armature modifier.. it means parent object too? (if I improt some scene prop, and it is simply parented by another mesh, then import morph for child object)

    Anyway ,,I may test your idea can work or not without break current functions..

  8. engetudouiti reporter

    Now I think something different.

    So I planned to add new ID props for meshes, but , if I can simply show all shape key sliders which not be driven (no driver) of child mesh, as same as your offered UI morph sliders,, I can use them from UI.

    Actually I do not know well about layout panell, but if it can be done without add new ID prop, it is all what I need, I feel) because about those morph shape keys which I do not set driver, = morphs which need to move individually.

    If you can do it easy, I may prefer the way.. (user only need to import morph without driver, then those shape keys slider will be shown, when select character rig)

    it just show shape keys of all child mesh, (but exclude “driven shape keys”, because it can not be controlled, untill you change driver setting, and it not need in UI, (you already offer those controller which driven by rig id props.)

    of course it seems better, those shape key slider can be gathered (close and open), with each mesh menu (show each mesh name) in morph panell (or add on UI morph panell becom very large)

  9. engetudouiti reporter

    Yes I just test (add new layout prop) with my custom add on,

    Then I could show when select object, and show one of shape key slider as UI layout prop, with name and slider (controllable) (it only change shape key value, then actually deform)

    at current it have no meaning, (because it only show shape key which I assgin the shape_key key (“displace”) in code. But I suppose pick up non driven shape keys then generate those prop sliders.

    So If when select rig, it generate all shape keys (exclude driven shape keys) of children mesh, I think I can do it. without add any ID prop (because it need not driven, just show shape key slider (value) as layout.prop)

    I seldom try dynamic layout menu,, (but it seems not so difficult, If I learn more,,) If you think it is not bad idea, and you can do it easy, (but may need to tweak your current UI layout generate script, I actually hope you will add it in morph panell ^^;

  10. Thomas Larsson repo owner

    If you can solve it with your own plugin, great. From my point of view, driving the shapekeys with mesh properties makes little sense. The Daz Importer UI shows object properties of the parent rig. This is necessary in the usual case that you want to drive all shapekeys with the same property. So even if the shapekeys were driven by mesh object properties, they wont show up in the panel. It wont help with file linking either, because in order to change the properties you must proxify the entire mesh, and then you can just as well access the shapekey values directly.

  11. engetudouiti reporter

    hm,,,I see, driving the shape keys with object IDproperties not work well with current daz importer way. and it only have meaning , move slider from property section to add on UI.

    but above pic, I do not use mesh properties. then they are not driven. but just show same shape key slider in property panell as UI layout.prop

    though I need to test, if it still work when I select rig with pose mode.then can show those mesh shape key slider or not. like this.

    (so I plan next remove those driven shape keys, but only remain non driven one in UI, and it will be shown when select rig . with each mesh name as open and close menu.

    I do not think it may confilict with your current add on way.

    I think it is not related with link (or over-ride) but related with “retarget driver” only. those shape key (which shown in UI panell) have no driver still, so it need not retarget-driver.

    (though above pic simply show all shape keys, with curernt selecti obect,,)

    because the problem is blender side. (Though ,proxy will be removed when over-ride system improved to offer shape key over-ride I suppose)

    But anyway OK. I understand you keep clean. your add on morph panell then may not hope to show those shape keys (non driver) in UI I suppose.

  12. engetudouiti reporter

    Current add on can show “shape keys” of child object when it is driven by rig id props. (when user add driver with your plug in)

    Then what I means, I hoped to add other “non driven shape keys” of child meshes as controller in same UI with each mesh name group.

    So I can divide “shape keys which will change value link with ID prop)

    and shape keys which change value individually, in same UI morph panell.

    Then No controller may not be duplicated, at same time user can change all morph value, when select rig .Then cllothing morphs which have driver work with rig ID prop, as same as before, then only non driver morph work individually. without change selection.

    (before I planned to add ID prop for mesh self, to drive those mesh shape keys, to move individually. but what I tried now is, simply show all shape keys which user may controll in same panell. (though as your view, I may need to make custom, but if you miss understand what I means I still hope, if you can make it in your add on morph sections)

  13. engetudouiti reporter

    I could make custom version.. Though it can not use your “morph check function” and “open-close” menu etc,(I do not know detail of those UI list,,, then I hoped if you can make it in your add on panell, as same as other morphs (which drive shape key or bone, )

    when select rig, It only show non-driven shape keys of all child mesh clothings. (exclude base shape, and driven shape keys)

    then when select mesh, t only show non-driven shape keys of current active object (exclude base shape, and driven shape keys)

    So If user hope to clothing morphs work with your controller (for body mesh), set driver, then simply hope to move them individually, (can set name as you like) not set driver, then only those shape keys are shown in N panell morph section.. (I think at least it can offer full controll of character in same panell, without go property) so I think it is not little sense….

  14. Thomas Larsson repo owner

    OK, is is implemented now. You have an option in Import Custom Morphs to use Mesh Drivers. Then a new panel opens. Object properties are still used to drive the shapekeys, in order to reuse the old code for rig properties.

  15. Alessandro Padovani

    This sounds interesting and useful but personally I’m a bit lost here. May be a quick tutorial with a practical case, perhaps in the blog, will help people to understand and use better the new options. Me included.

  16. engetudouiti reporter

    Thanks I still not test with recent ver but if you add the option (add driver with mesh object)

    it is what I requested first, so I test it and if it not work report here.

    (I tried to get close open panell as same as your custom morphs, (my current way is not add driver,, then distinguish clothing morphs and custom morph which change with body,) with change labell name, it need to know many new things for me)

    Then Alessandro, it is not difficult thing, but maybe case you use this is limitted.

    If your all clothing, hair , or item shape key name is different, you need not use new option.

    but if you make same name shape key often, and hope to change value from add on uI, as same as other morphs, (transfered body morphs or imported custom morph which need to change body morph) you may better use new option (add driver for mesh object, not character rig)

    when you add shape key (by import morph, or make by your self), you may clear understand how it need to change value.

    case 1. the shape key value need to change with body morph value. about this case, your shape key name should be same as body shape key name, then current plug in auto change both by one controller. (which generated when you use “add driver” option. or when you use “set driver for mesh shape keys” (about both case, this add on add ID prop for character rig, then we manipulate it from panell, then body and other item shape key value change)

    case 2, the shape key value need to change, individuall. eg when you hope to change dress shape, or hair shape morph, (import), they need not follow body morphs . so it need not move with rig props. actually most of case, default option (add ID prop for rig, then set driver for the shape key) work.. but if the shape key happend to be same name of other one, current add on could not manage it.

    most simple case should be, you make shape key with “expand all” for some items, then set driver with add on function.. untill this commit, there was no way, to use those expand all individually.

    when you use expand all slider, (rig[“expand all”] it drive all clothing “expand all”. of course if it is what you need, keep the way as same as before,

    but if you hope to change value for each clothing, (as same as daz expand all), you may need to use new option (add ID prop for each mesh object , then set driver for each “expand all” shape keys. then you can change each clothing “expand all” shape keys value , (can set different value) form UI contoller.

    Then if you do not need to use UI controller, but simply use property>shape key panell, for those custom shape keys, it is not matter. (you do not need to add new driver)

  17. Alessandro Padovani

    Thank you engetudouiti for the kind explanation. My understanding of abstacts is limited though. Again I believe a practical case may be with some pictures will make things clear especially for those who are not rig experts, including me. Then I do appreciate your reply and I’ll keep trying to understand.

  18. engetudouiti reporter

    Actually to understand how it work, try both option with make same name shape key (just add empty shape key, as same name for 2 different clothings part)

    your character may have shirt and bottoms, then add new shape key, like “test”

    now you have shirt mesh “test” shape key, and bottom mesh “test” shape key.

    next set driver for both shape key, with add on offered “Add shape key driver” (advanced option>morph section)

    At first test with default option, “set driver for rig” then controll both shape key value from UI morph section, you must see, both “test” shape key value moved at same time, by one controller = you can not set different value for shirt “test” shape key and, bottom “test” shape keys. they always show same value. (even though you make different category, after all both shape key value show same value = your controller value.

    it is because, when shape key name is same, plug in drive 2 shape key by one id prop of character rig.

    to drive 2 shape keys, , you need 2 ID prop. but plug in can not set 2 ID prop, when shape key name is same (but belong to 2 items) . plug in generate rig ID prop, as rig[“test”] , there is no other ID prop which drive “test” shape key.

    on the other hand, if you set ID prop (test) for each mesh object, now you have 2 ID props. for bottom and shirt. like shirt[“test”], and bottom[“test”]

    then each mesh ID prop, drive each shape key individually. it is all what I requested. (or do not set driver, so you can use blender property> shape key slider, without controller.. then you may understand when it need, or it need not. (or do not set driver)

  19. engetudouiti reporter

    Thomas I now try to test with recent commit ver, but as you said you add option for improt morph ,but you still not add the option for “Add shape key driver” ?

    I think, if it is for user who may customize many, the new option is more useful if it offered for “Add shape key driver” than import morph.

    I suppose without user read all morph section, user may not check each morph how work etc. but simply try to import each asset morph files,

    About this case, the new option have meaning when import “Shape key type” morph only. not suppose to use it for pose controller etc.. Then to safety use for clothing or hair etc,

    1. import morph without driver (for those clothing morphs)
    2. . think it need to move with body, or body already have same name shape key,
    3. if you hope to move separately, use “Add shape key driver” .

    But at current user need to decide, when import morph. (then plug in decide if the morph file generate shape key, attach ID prop with rig or attach ID prop with mesh. without see how the morph work (generate shape key etc) only from name.

    I thanks add you option for import morphs,(from your reaction I did not expect you commit it) at same time, if you offer the option it may more useful for “add driver for shape key”. (I suppose most of user may better , first use “add driver for shape key” then, after see how it work,, decide which option may use when import morph.)

    I hope Thomas test, to check case if you do not add ID prop , how it work. with attached custom add on. then you may get some idea, It not means to show my strangeI code i . Jus hope you see how it work. about clothing morph, I think we may better set category for each clothing. (so things becom clear) then if it work so, I think new button Import clothing morph, more easy to use. (it may better to show each asset name as category (default)

    add many button which offered for body morphs is different problem (enhance later if you can)

    new added function offered as separate button, user may not miss use it.

  20. engetudouiti reporter

    Though I have used “import morph” with driver, without carefully thinking for body and other items, as same meaning.

    But to think how it work, I think all morph category is better to used for Body (and merged mesh) morphs. because about those morph, it may not have same name shape keys.

    on the other hand, about clothing simple shape morphs, (you often found them) are, may better divide as function and as UI button.

    It is same, (you may add ID prop for each object mesh, or not use ID prop but just show shape key controller in UI, (Not driven shape keys only)

    About both case, morph group may better to categorized as each clothing. So I can easy find which shape key I hope to tweak. with select character rig. (or to restrict , select the mesh)

    I think, to add many morph function, (check mark or pin etc), It seems better to add new ID prop for mesh. . but if you can easy do it without add ID prop, it seems more flexible, and safe to use.. (user only need to decide,, use driver or not, then non driven shape key may shown as UI controller, with each asset name)

    Then I may not request to enhance for clothing pose controller morphs. (new option may limit usage, it is only for simple shape-key morphs of clothing and which not transfered from body. (no relation morph with body))

  21. engetudouiti reporter

    Now I test import “custom morphs” with driver for each mesh.

    it is already enhanced match what I expected (and could not it with my custom version,,) 😀 thanks.

    As usablility, I may request 3 things,,

    1. when select rig, it show all child item shape key morphs as “Mesh Shape keys” section.
    2. if you can make it work (select rig show all children “mesh shape keys”, to easy use them,, the Category of Mesh shape keys auto set clothing name (get with currently selected object) as default. (or we may need manually change for each clothings to understand, which shape key are for which mesh.
    3. I think “Import mesh(clothing) morph” button must need to clear understand difference from import custom morphs. . then default = set ID prop for each mesh.
    4. (as I said above), for me,, I hope option for attach driver for shape key. it is advanced tool, so no need to add new button, just need the option.

    Then user may actually understand, it make more easy to manage those clothing simple shape key morphs. (you can find many morphs in each vendor assets morph section, and can easy import them, with controller)

  22. engetudouiti reporter

    Then only one thing I may afraid, is (not test yet) retarget mesh drivers still work or not. I hope you already change function for those shape keys (driven by self mesh ID prop or it may change all shape key target to current rig…

  23. engetudouiti reporter

    If it completed , user work flow is like this

    1_ import default morphs for body as same as before.

    2_ import custom morphs for body as same as before (include grafted items morph) then use category, as you like. to gather body morphs as group

    3_ use transfer morphs for each morphs (carefully think what you need) to attached clothings. (with default option , driven by rig prop)

    4. after finish body, and tarnsfer body morphs, import each clothing morphs with new option and new button. (Import clothing morphs) which change individual mesh shape, without relation with body morph, then as default, it is categorized with each clothing name.(hair, bottom etc)

    Before plug in not care, about those shape key morph for clothing, then use same function “import morph” for body custom morph , (most of them many need to transfer), and non transfered morphs (change individually)”

    If user clear understand difference, you can mimic daz clothing controller. etc (eg you may sometimes not hope auto-tranfer, but change transfered morphs without link body morph) by change driver relation. duplicate same transfered shape key, then duplicated one link with self mesh, then it will be appeard as “mesh shape keys” section with each clothing category, , now you can controll transfered morph effect for clothing. (the shape key can work separatelly) without remove driver.

    same thing may happen for character body morph too after transfer “FBMslim” for clothings, duplicate then name as FBMslim2 , and set driver for self mesh. it will be shown in “mesh shape keys”. so you can adjust how FBM slim work (change clothing , or change only body to reduce poke through etc) with mix use 2 duplicated shape key. in same UI panell.

  24. engetudouiti reporter

    If current select rig will show all children mesh object shape keys ( driven by self object ID prop or non ID prop)), I think,, it seems better, only pick up visible object. and show those shape keys.

    there seems no meaning to show controller of clothings which not visible currently… (include preserved default mesh and merged mesh)

    I noticed, with test my version, even though I already hide mesh, my script still show those shape keys which I made for grafted part (non merged) mesh (just remain to protect) custom shape keys.. (it not expected to transfer then not set driver still)

    Or may offer toggle option “show visible only” = not show shape keys of mesh hidden from view.

    And as my personal view,, maybe You may clear separate new option from UI, untill complete. (actually I still think, keep non ID prop may easy work, without change current add on way. it not add any new ID prop for mesh and rig, then can easy use.. (script just change how shape keys shown (with condition)

    As you said, the problem seems offer same functions (active , or reset, or key-set etc) for those non ID prop shape key controller. (so you add ID prop for mesh, as I requested I suppose)

    But I think, if you leave it without ID prop, (they only be shown when user not set driver) It it not effect other driver and morph functions. (manage category etc,,) then can enhance them separately..

  25. engetudouiti reporter

    I am at a loss, 🙄 which way is better to solve this issue. I often get another idea after I request something,,, Then of course I understand, Thomas decide ,adopt each request , or not, then how to achive it depend Thomas.

    About this case , at current, I may prefer “not add new ID prop” for mesh. but only show these shape keys with some options in UI panell morph section.

    Pros

    It not effect current add on functions at all. it only add new UI layout prop, which show each mesh shape keys slider, categorized as each clothing, when shape key have no driver (with rig object).

    So for user, there is no demerit.

    Then other shape key morphs (which generate driver with daz importer) are shown as same as before in Daz Importer morph panell with many option, and functions to manage them.

    And first of all,, user need not any additional work (because it only pick up shape keys which user already added, but had not be shown in UI, and do nothing special)

    if user add new shape key, they will be shown, then can edit free (because no driver) when they need. after all you get slider of those shape keys. then if you remove shape keys, it auto disappear. or if you add driver with Daz Importer, it auto disapear (because it should be driven by ID prop)

    Cons

    Maybe there remain some functions , which can not use for those “simple shape key slider.” (current Importer offered for other custom morphs (active or, not active toggle option with other operator.. like reset value, set key etc))

    (or to get it work, need many new Class or functions, because there is no ID props so can not use Thomas already made function to achive it)

    I could, open close each category shape key slider (“clothing name, currently I tried”) without smart icon,, but can not confirm, without ID prop, I can make active check box for each layout prop (shape key value slider), and can manage them, (reset all, reset each category, etc)

    Then if Thomas plan to offer free categorize way for those clothing shape key sliders, I think it is difficult without ID prop.

    As my request I may hope Thomas solve this issue, without ID prop. and enhance it to work as same as other driven morphs. if you can…

    at same time, to get new option which can set driver for self mesh with self mesh ID prop,have no harm things.. it simply enhanced . ( it simply add new variation, how controll shape keys from UI)

  26. Thomas Larsson repo owner

    The extra ID prop is really useless, and I agree that it would be better to display the shapekey sliders directly. The only reason why I added it is because I could reuse the existing code. What we want is to be able to put shapekeys into categories rather than custom properties. I will check how much change is required for that. Probably not so much, and then I will try to implement something tomorrow.

  27. engetudouiti reporter

    Thanks I apreciate,😃 if you choose way to show shape keys (non driven) as your plan. it cause no problem for user. (I apologize,😅 I needed to request this first, without say ID prop for mesh etc^^; I simply believed I must need ID prop and driver to get controller..)

  28. engetudouiti reporter

    Then I do not intend you make this work soon,, but I hope to request how it work. (I already test many for clothing morphs (import with non driver option, then show those shape keys in controller)

    1_ Though I do not know Thomas may approve it,, but anyway, when select character rig, all children mesh shape keys (non driven = not have been shown as Daz Importer morphs controller) should be shown with each asset category. it is not matter how add on show other drive morphs. (the way not change)

    2 _ About Category of those items shape keys, there seems not many reason to user full customize. because each mesh shape keys need to be categorized by each mesh. first (or user can not find “Hat(category) Expand all”, or “Skirt(category) Expand all.” so even though user hope to get variation , as default they should be categorized by each assets. (include character body mesh shape keys which have no driver)

    user can not make category as they like about those. (it should not) so if you offer more flexibility, maybe I suppose user can rename category of each assets. But I think it can be achived without tweak category, but simply change Asset name as they like.

    Maybe Keep Category name same as Object name , make everything stable. (this is only about those clothing shape keys (custom morphs), if it show strange long name,, that simply means the assets object name is long and strange (then we may better clean up it manually, if it need)

    On the other hand, current category for dirven morphs can have many variation. (so user may categorize them as they need, PHM or expression custom or, gen part or custom pose cotnroller etc etc), so About clothing morphs (non driven shape keys), I suppose you may need not try to show perfect same function. (remove category etc,,) I suppose..

    3_ I forget ,, show only shape keys (each mesh) currently visible is useful. as I said, new controller which show non driven shape key , need to categorize with each mesh. then when select rig, it may serch and show all children mesh ,non driven shape keys, with each assets category..

    Of course I still use Open and close about, each assets, but when hide item = hide the asset shape key controllers (column or box) is logical ^^; (or you everytime see hidden item shape key controller column (though you may close it) which you never use for current posing,

  29. engetudouiti reporter

    Then I agree “add new ID prop for mesh”show many limitation, and complex at current if user use it for clothing shape keys.

    But I think, , if this add on controll all DAZ morphs, we Need ID prop for each mesh. Of course it is different from how Thomas design this add on. But it is because, this add on did not plan to import all morphs of clothings with UI controller. I clear remember, how add on gradually expand about Morph system.

    To import each type morphs which deform character mesh with UI controller , add on prefer to use Rig object to attach driver target ID prop, those ID prove link with layout prop silder to change value.(body shape keys and rig bone pose)

    Then next plan to transfer shape keys to show auto transfered morph effect. Auto transfered morphs need to change same name shape keys of clothing and body, so ID prop which attached for rig could work well. (it need not distinguish, each object, just need to set driver target as one ID prop, when shape key name are same)

    But to control each clothing shape keys , actually we needed to set ID prop per item first. (so we can controll shape keys per object, after that decide how change value by add on UI controller, eg attach ID prop for rig, which will control each mesh ID prop,(if we use ID prop)

    Attach all shape key target ID prop to rig offer control easy (I like the way). but we know DAZ do not make so. each asset controller are managed by each asset Rig(and attached mesh).

    I prefer to deform easy, “not set ID prop for mesh, but prefer simply show non-driven shape keys”, to get all control from UI, But I think the option “generate ID prop for mesh from mesh shape key” is still useful. when user hope to make custom driver for the asset etc. I can easy imagine how I use it,, (make zero shape key, then generate custom prop by the option, it can generate mesh[“custom”] id prop, as UI controller in your add on panell. then I can use it as driver target etc, without bpy code, only use add on offered option)

    but I suppose it should be advance option. (and maybe it is more useful, the option are offered for “generate driver from shape key” .

  30. Alessandro Padovani

    I believe now I understand what it is requested, that is, a way to control independently some morphs having the same name. What I don’t understand is what it is for.

    A. I mean, do we need it to import daz figures ? And if yes, may you show a practical case please ?

    B. Or is it a tool to help with user customization of the daz figure ? And if yes, again may you show a practical case please ? I mean, the top shorts example I don’t understand. We may just use different names “top_shape” and “shorts_shape”, then drive them with custom bones if needed.

    But again I’m not a rig expert so it is likely that I miss something. Again may be some practical examples with real daz figures, showing how this is useful, will help me and others to better understand the new options.

  31. Thomas Larsson repo owner

    I am not entirely sure what is requested myself, but I think that the last commit adds something useful. We can now created named groups (categories) of shapekeys, which can be keyed, unkeyed, and cleared separately or as a group. Such groups can be created when custom morphs are imported (use drivers = off, add shapekeys to categories = on). However, this does not seem very useful to me; I mean, if you import something like FBMPearShaped, you want the shapekeys applied equally much to both the body and all clothes.

    But we can also make shapekeys ourselves and use the new Add Shapekeys To Category button to put it into a named group. Although if we are disciplined and use unique names, a similar effect could be achieved with Add Shapekey Drivers. So I guess this is not a critical feature. Anyway, now it is implemented.

    In the near future, I would like to introduce a feature freeze and limit myself to bug fixes, and hopefully a stable version 1.5.1 can be released at the end of the month.

  32. engetudouiti reporter

    I said many times already, when I import FBMPearShaped or FBMs for character body,

    and if I plan to trasnfer those morphs, , (or import them for clothings, then hope to move at same time, with body , I do not need any new option.

    A best example is,import FBMexpandAll for each clothings. it is not for body. so it is not expected to auto-tranfer. It need to be controlled by each. but old way could not manage it.

    one prop can not change 2 same name shape key in different items . But add on have simply ignored it long time. now it can controll by each.

    B so what you means,, when you import FBMexpandAll, you may change shape key name,

    like Short_FBMexpandAll, and Top_FBMexpandAll. then may add driver rig. you keep the rule for all shape keys which you may generate. (you know what shape key are currently used for all clothings, so never happen such problem)

    Or you know, more better way, , attach new bone, or custom shape etc,, then set driver with those shape key.. yes, it never cause problem but at same time ,it not related with this add on, because this add on not offer such option.

    Yes I know we can do as we like.

    But I say again,, if you need not change name, or you need not add custom prop etc,, but simply use new option, then it can manage all shape keys

    ]why simply think it is enhanced? and can not approve it?

  33. engetudouiti reporter

    Then I may test Thomas commits later, but I may not request this issue again.

    I could customize my add on, to work as I expected.

    I feel Thomas may think different things, (because I do not request category etc,, but auto gather them for each asset name, only when shape key have no driver)

    At current my custom add on work.

    1. when select rig, it auto serch children non driven shape key, then gather them as each assets , and show those shape keys, (imported and I hand-made), I need not check name etc,, so I can use same name shape key as I like. when I add sahpe key, (without driver) it auto shown in UI with each assets.

    2 now I can open and close, each asset group. and can check active or not. the props are now managed by “shape key name base key” (object[“act_shapekeyname”] (bool property)

    so I can easy access currently activated shape key value. then I may add some funcitons, Set value active only etc.. though it take more time,

    before I often use shape key propertys to controll individual object morphs, but now they are shown clean with each assets, so I really feel easy to use them with same UI panell.

    and it can clear separate character body morphs, (which may change all clothing shape keys), and clothing shape keys (which change value individually) , really easy change shape key value which I need (no need to select different mesh or serch around in property shape key panell

    then it need not any work,, I just need generate new shape key. as same as before.

    For me, it is real enhancement. to use this add on and with many clothing and each clothing morphs, without mess around category etc.

  34. engetudouiti reporter

    Then thanks Thomas to commit about this request and take your time. which you did not clear find merit. Maybe I usually generate many new shape keys, when finish one scene. and hoped to see controller in UI panell, then it was important, add on can controll each morphs indivdiually when they are happend to have same name. (I do not check such things, I do not remember how I set shape key name or what name shape key I improted etc)

    I may not report about this commits, so I close this topic. if there are other user who need to report about this issue or some new problem happend, , please make new one. (I do not talk about this issue related things any-more)

  35. Alessandro Padovani

    Thank you @engetudouiti for the explanation. My questions were not to criticize in any way but just to honestly ask for information. You may see some things as obvious, but it may not be the same for less experienced people as me or others.

    Now following your explanation I checked the ExpandAll custom morphs for the G8F bra and shorts basic wear. Please note that in daz studio those are actor morphs, so they are intended to be baked in the dbz. Nevertheless we can indeed apply these morphs independently, the purpose is to fit the bra and shorts to other clothing that we may add.

    Now we can import those morphs as custom morphs, both for bra and shorts.

    What the plugin does is to place the morphs in the Shapes category, that we can later use as we like. The morphs are independent the same as in daz studio.

    I checked the old stable version 1.5.0, that doesn’t have the new options. The only difference I see is that we don’t get the custom morphs in the plugin interface, so we have to use the blender interface instead. But the functionality is there and the morphs are independent.

  36. engetudouiti reporter

    Alessandro,

    From start to end, I discribe, it happen when we set driver with add on. then when different clothing have same name shape key, the driver (controller) of UI can not controll them.

    It is issue what I reported/. and as one way, I suggested to offer way to attach ID prop not for rig. but each object. (so even though there are same name shape key, we can still cotnrol them from add on panell)

    if you had already imported many clothing morphs, with driver set (import default option I suppose) as import custom morphs, sooner or later, you will notice it.

    So I suppose maybe many other user do not import many morphs for clothing, or they do not use driver for custom shape key to controll in plug in UI = they controll those morphs by blender offer shape key panell only.

    I reported, when user use driver for clothing morphs, and the generated shape key have same name, at current add on can not manage them (it have no means to categorize about them, simply same controller duplicated and shown as 2 category) actually it cause issue.

    at same time I found, so bast way (which may not effect other functions) , not set driver but try to show all shape keys in UI panell. with some options. then Thomas offer it now but, I do not think Thomas will include my request things. so as for me,

    just improve my script. that is all.

  37. engetudouiti reporter

    What I expected as final commit of this issue is,

    1. when select rig, it auto show only non-driven shape key = no UI controll of this add on. as controller about all children meshes (but visible mesh only)
    2. it auto shown as new group = user need not any work. just import moprh as same as before, but to avoid “same name shape key problem” not set driver for those clothing morphs. it wlll be shown as each clothing group (it not same as category, simply divide as group) with each clothing name labell
    3. when make shape key . or import obj as morph target etc, then add on auto catch all shape keys (but no driver) , and shown as new morph section of UI panell.
    4. most important thing for me, it never merge with other driver controller of add on as same group so user can clear understand, the morph purpose = tweak each clothing individually.
    5. then It can divide add on morphs as funcitonarity . one is to controll all actor (mesh ) or pose second is, it may change mesh individually as shape key.
    6. add option which have been offered for other driver morphs (if it could be)
    7. finally may add category for “Each clothing” if it need but as for me, actually it never happen. because it have already categorized by Clothing name. (include hair, or sometimes include character body too(but no driver, so it not effect other clothing) then I do not need any sub-category for those. (all are simply shape key, then do not need to gorup for each shape keys of clothing )

    It work for all rig and character (though it will be shown ,this add on panell, but we can pin and use it for another add on as we need, because most of rig figure need shape key, and when it not use driver, usually those shape key will not be shown in UI panell)

    Other options are mostly plug in independent. but basically they not cause any harm. (add keying-set, set zero value etc)

    I do not say, it is huge improvement, but anytime import clothing morph (simply shape key), set driver and categorize . or make new shape key, then set driver categorize. to show them in UI panell, is somehow tedious work for me. so now I really like the way with add on offered driver controllers.

    So if recent commit work like this I may simply use current add on offered option to keep UI design. but I suppose it still need to categorize by user first. and do not know it show child mesh shape keys, (if it work so,, it not convinient, though even better to serch around shape key section of blender merge with many driven jcms)

    Then after all Alessandro, you only discribe how recent version work, but not mentioned clear, and not test, when import Expand all for 2 different clothings, and set driver with this add on (current stable version show issu) , what will happen at all.

    Then so you seems import without any jcm ,but usually after transfer jcm for under-wear it should be like this.

    then to change the simple shape key value, you need

    1. change to object mode select mesh
    2. select mesh-data property
    3. serch around the morph long shape keys list in property panell . I suppose most of case it is closed. (shape key panell) without you keep working.
    4. if you need to change another asset morph, do same thing again. you may do it with rig pose (that means, everytime, you need to change mode. then select mesh again and again

    So I supposed most of user have set driver those shape keys. you were lucky, because you di not notice this issue. (if you set driver)

  38. Alessandro Padovani

    Yes, personally I tend to minimize both the morphs and jcms for the imported figure, and also to bake in the dbz as much as possible. I don’t like to play around with lots of drivers and morphs. So yes, it is from 1 to 4 for me as you described above. I also tend to use shrinkwrap instead of transferring jcms, when possible.

    Thank you again for your nice explanation, I believe this is useful to others too.

  39. Log in to comment