G3JCM pJCMAbdomenLowerFwd_Navel pJCMAbdomenUpperFwd_Navel need to active

Issue #429 resolved
engetudouiti created an issue

I suppose there should be some user who notice how manage it, but most of others may not notice it.

Then when you bend abdoman bones of G3 character, you may see around navel is not good (clean), even though you import jcms. correctly.

The reason is, there are 2 JCMs named as pJCMAbdomenLowerFwd_Navel, pJCMAbdomenUpperFwd_Navel, which need to work with PBMNavel value and abdoman pose rotation value.

Then usually the PBMnavel is set as 1.0 in daz studio. Without you modify it. So when we import G3 character, the PBMnavel delta are already baked in imported mesh. Then add on do not generate PBMnavel shape key. At same time, Thomas Add on already generate driver and PBMnavel propertys for pJCMAbdomenLowerFwd_Navel pJCMAbdomenUpperFwd_Navel. but add on do not auto set PBMnavel(fin) value as 1.0 ( default is 0.0 I suppose) , then 2 shape keys to adjust navel around mesh not work.

To correct it, user need to set PBMnavel prop value manually.

select the G3 character rig, then in property Object tab > custom property,

you may find PBMnavel custom property, set it as 1.0 or if you set PBM navel in daz studio as 0.7 then exproted character, , set PBMnavel = 0.7. usually you may keep 1.0 value I suppose.

After you input PBMnavel value as same as daz,(Navel) the value is correctly circulated to activate those 2 jcms shape key.

pJCMAbdomenUpperFwd_Navel and pJCMAbdomenLowerFwd_Navel, only when G3 character bend abdoman. like this.

I do not think it is bug, because if add on auto set those value which user not imported. it may show another problem I suppose.

(usually we need not adjust prop value which already baked, so it is exceptional case)

btw if you hope to use PBMnavel as actual shape keys, I may suggest, in daz studio show hidden propertys, then set it as 0. then export your character.

after that, import PBMnavel as custom morphs. I confirmed, it keep dirver correctly for those 2 JCMs, then you may adjust Navel strength in blender, as you like. (but if you often use reset morphs, the navel value is disappear, so pro and cons for 2 ways. most of user may better not import PBM navel. but memorize current Navel value in daz studio. then input it correctly in blender without import PBMnavel (add on never import it without you import them as custom morphs, but generate property and driver witch use PBMnavel property)

Comments (8)

  1. Thomas Larsson repo owner

    Fixed in last commit, although not in a very elegant way. Whenever morphs are loaded, the add-on sets the object properties JCM On and BaseFlexions to True, to make sure that JCMs and flexions appear at all. So I added PBMNavel to that list. The properties are displayed at the bottom of the posing panel, so you can turn them off there. Although I can’t think of a reason whay anyone would want to do that.

  2. engetudouiti reporter

    Thanks up-date. I already know add on generate props for JCM On and set as 1.0, but did not know the place where you controll those setting.

    Will it still work if I import PBMnavel then try to add the morph in blender as I like? (I have some navel morphs which mix use PBMnavel) then I am thinking to import PBMnavel without bake in export scene. when I report this, add on keep driver (multiple) for JCMs correctly. after I improt PBMnavel as custom morph.

  3. engetudouiti reporter

    OK now I could confirm both ways work thanks😀

    At same time only pity things is even though I import PBMnavel as custom morphs, the input silder work as if on and off only.

    I think the reason is when you set value, you may use 1. but I think if you set it as 1.0, then UI show it as float slider prop (you can change value like 0.7 etc still)

    Though I can manually manage it as float slider with edit custom prop, but I suppose you may need not make it as 0 or 1 on off switch like other JCMon or Base flextions. they may better work as bool type, but this prop may better to set value.

    because, we set value in daz studio about Navel morph. (so we set it as 0.8 etc as we like) , at same time some character morph may set it not as 1.0 so when user import the character navel morph baked, we need to input the navel value for JCM work correctly.

    I may prefer not include it when export, but set value in blender, but after all, at current add on try to make it work as on and off 0 or 1.0 because you set PBMnavel prop value as 1 when add on generate custom prop. (You may only need to set as 1.0, then the prop can move as float with keep value.

  4. engetudouiti reporter

    I think to keep your code, you may add one more list which not to set value as Bool but input float .

    StandardOnProperties = [
    +    "JCMs On", "BaseFlexions", "PBMNavel",
    +]
    
    StrandardValProperties = [
       "PBMnavel",
    ]
    

    Then you may make setFloatProp for StandarValProperties list to set value. as same as you use setBoolProp for StandardOnProperties.

    Though at current we only have PBMnavel which need to set value even though we do not import the PBM, to JCM work correctly, but if you make it so, If we find another case, we can set the prop as StandardValPropperties with set float value >> user can still input value when it need as UI slider.

  5. Thomas Larsson repo owner

    The last commit should do better.

    When the morph loader encounters an unknown property, it sets it to a default value. Before, this default value was always zero, but now it matters where the property is encountered; if it is a multiplier the default is one instead. This works at least for the standard JCMs, both JCMs On and PBMnavel, without the need for an explicit list of properties. This gives me hope that it may work for custom morphs as well.

  6. engetudouiti reporter

    Thanks yes I think new way seems more flexible ^^

    I found one vendor character head actually add ERC which delta add PBMnavel though,, Now it may solve those special case I suppose.

    (do not know why the vendor add delta for Navel with their character though, it force to set navel with his morph. (but after all fin limit is 1.0 then it auto apply when user try to remove navel morph ^^;)

    anyway, new commit may remove my one step to make it work as I need ^^

  7. Log in to comment