Can't get controller morph to work with geograft.

Issue #546 closed
Rose Odimm created an issue

I try to import morph to penis geograft by this step.
1.Import male model with geograft by easy import.
2.select geograft and import custom morph
-Foreskin.dsf {Use to control Foreskin 01-04 morph to synchronize in DAZ}

-Foreskin01.dsf

-Foreskin02.dsf

-Foreskin03.dsf

-Foreskin04.dsf
3.Select armature and set the slider to 1
*Fore skin 01-04 morph work fine but the controller slider {Foreskin} doesn’t work
*In daz when drive the Fore skin slider it automatic drive the foreskin 01-04 in different value but when use in blender it does nothing.

Blender 2.92
Differmorphic 1.60 2021/05/30

Comments (12)

  1. Alessandro Padovani

    daz studio 4.15.0.2, blender 2.91.2, commit 2015229

    Actually if I try to import any custom morph as “non driven”, I get an error. Below an example where I try to import the pear figure for G8F.

  2. engetudouiti

    The OP issue and Alessandro issue are different problem. (so I suppose it may better devide topic) because it need to be solved by different way.

    I do not have OP product, but I think the master controller morph use animation type ERC (vendor sometimes use to set many other morph value by one controller as if switcher.

    eg from 0 to 0.2 only add morph1, 0.2 to 0.4 morph2 add etc. this type ERC are clear different, from usuall delta add or 2nd multiple type ERC.

    Then I do not think, this add on can manage animation type ERC . Only about some specific morph I remember Thomas try to make it work aproximatelly with use custom animation curve when it was reported.

    those morphs were used for default morph (pose controller or jcms) . so Thomas tried to solve them, but about custom morph , at current it may be really difficult to mange Animation type ERC and set driver as same as daz, I suppose.

  3. engetudouiti

    Then if you can check the Foreskin dsf file of the problem morph formula section, , or open Foreskin property in daz property hieralchy pane, you can check the subcomponent ERC type. if the Foreskin sub-component (foreskin 1 to 4) ERC type = keyed, maybe it is difficult to make it work (auto generate driver from dsf file for each foreskin 1 to 5 values)

  4. Alessandro Padovani

    Commit 43c2709 works fine for “non driven” morphs. Thank you Thomas for the fast fix.

    edit. Then for the issue reported by Rose, if I understand correctly it means “controller morphs“ are not supported as custom and the user has to use the “target morphs” instead. If this is so it may be useful to add a note in the docs about this to explain it better.

  5. Rose Odimm reporter

    Yes 01-04 are ERC {Keyed}.

    Is there any way to workaround ERC for custom morph?

    BTW What is “target morphs” that 'Alessandro' mention?

  6. engetudouiti

    Basically I suppose usual (delta add type and multipler ) controller can be imported as custom morphs without problem. only difference is mesh is actor or clothing (or graft item) for your case.

    But after all, add on generate all props as character rig property, then those prop drive each import shape keys. though it need to be confirmed by Thomas.

    (target morph maybe means, your already import morphs Foreskin 1 to Foreskin 4.)

    So I think the problem is the morph use key type ERC formula. and why it difficult.

    to mimic those type ERC formula as blender driver expresison, we need to set condition for all morph 1 to morph 4.

    (If A < B ,or B<C…) etc as blender format condtion.

    if you can pick up the keys description, (just open the section in property hieralchy and show, how vendor set keys for those value with the controller value. ) Thomas can confirm it will be solved or not clear.

    (as for me, even though make manually set such driver, it seems not so easy, with some complex keys. it depend how many keys the vendor use for one morph. (eg if it only set one midpoint key , maybe I can manually make condition though) like this. key = Foreskin value, value = each Foreskin 1 (to 4) value

    eg,,, [key 0 : value = 0 , key 0.25 : value = 1, key 1.00 value = 1 ]

    if it use many interval key, it is not easy. (and I do not think script can auto generate them correctly..)

  7. Alessandro Padovani

    Yes for “target morphs” I mean the morphs controlled by the “controller morphs”. That is, in your case you have to setup foreskin 1-4 yourself.

    As a side note I see that in the latest beta the daz bridge also gets an option to “disable morph links” that didn’t work before. That essentially does and means the same thing, that is, you have to use the “target morphs“ in blender. Not that the daz bridge is necessarily an example to follow, but I suppose this is the easy way to go.

    https://github.com/daz3d/DazToBlender/releases/tag/2.3.5-beta

  8. Rose Odimm reporter

    Thank you all for reply.
    Actually I can setup the rig for 4 target morph in blender but I just curious to know if there is some faster or easy way by using plugins.
    If the addon doesn’t work with ERC right now it is ok, the manual rig setup method in blender is sufficient for me to finish the model.
    BTW: Where can your guy learn about daz ERC/delta things? I know about blender but I’m pretty new to daz, the way I learn about it’s system is guess the abbreviation and random browsing through the folder.

  9. Alessandro Padovani

    Personally I know very little about the inner workings of the daz rigs. I believe Engetudouiti can help you much better there.

    It is my own opinion that blender shouldn’t follow the daz design though. That is, we don’t have to turn blender into a copy of daz studio. Once the assets are imported in blender they should work “the blender way”, not “the daz way”. So some daz features as “final morph values” and “mixing jcms”, that make little sense in blender, shouldn’t be supported and simply reported as “known limitations” when we convert daz to blender. Again this is my own opinion.

  10. engetudouiti

    it is not daz specific mater, how make driver and control other props. it is way to make such controller for blender.

    make such driver which OP described, is not special things at all.

    at same time, why OP can generate such driver easy by him self. it is because we mimic daz way.

    so OP can still move each slider but can move controller. if you say we made it so to mimic daz or copy daz, you do not understand how to make driver, which user can still controll driven value.

  11. Log in to comment