Can't Control JCMs Individual Parameter Controls

Issue #2070 closed
gourf created an issue

Sorry if the title isn’t straight forward because I don’t actually know what the morphs are called that I have issues with. I’m using UNBM JCMs and everything works except the “Individual Parameter Controls“. Please look at the images to better understand what I mean. As you can see in the blender screenshots nothing changes after changing the value UNBM G8F Collarbone Definition but in DAZ Studio it does. I tried all values and none of them have worked in blender. I’m using version 4.1.0.2139. My workflow was the following: Open Blender → Import Base G8F → Click on the Body Mesh → Import Custom Shapes → Select everything in the UNBM folder → Import with Default Settings.

Comments (11)

  1. Alessandro Padovani

    Using custom morphs is not easy you have to load some and not others to get them working in blender. Plus the addon is limited compared to daz studio since it doesn’t support all morph types. What I mean is, your workflow doesn’t fit blender, you should avoid to load hundreds of morphs as daz studio does, especially complex sets as UNBM. Keep them to a minimum that you really need to pose and animate.

    https://bitbucket.org/Diffeomorphic/import_daz/wiki/Setup/Morphs/Import Custom Morphs

    That said, Thomas may want to give a look.

  2. Thomas Larsson repo owner

    The problem is that all UNBM morphs are multiplied with the value of “UNBM for Genesis 8 Female 2.0”, and for some reason the plugin sets the value of that parameter to zero. That is possibly a bug, but it is easy to avoid. Just turn up the value of that slider to 1.0 and the morphs should work.

  3. Thomas Larsson repo owner

    However, you should be aware that the buttons above the sliders affect this slider as well. In particular, if you hit the X button all selected sliders are set to zero, and the multiplier must be reset in order for the other morphs to work. The idea with protected morphs was to avoid this, although automatic protection never worked reliably. In the last commit I added a tool to protect morphs manually (a tool to protect whole categories already existed).

    Advanced Setup > Morphs > Protect/Unprotect Morphs.

    Select the morph that we want to protect.

    The multiplier morph is now protected, which the asterisk indicates, and it remains unchanged if we clear all sliders with the X button. To select protected morphs we use the Protected button rather than the All button. The None button deselects both protected and unprotected morphs.

  4. gourf reporter

    Thank you so much for your effort, I really appreciate it! Unfortunately I'm still having the issue. I have already set the UNBM for Genesis 8 Female 2.0 controller to 1 as you can see in the original screenshots. Therefore I expect the UNBM G8F Collarbone Definition slider to change the collarbone definition as it does in DAZ Studio. The only difference is that I didn't protect the controller but it still doesn’t work even with it as I tested. Am I missing something?

  5. Thomas Larsson repo owner

    This is a quite awkward consequence of a difference between Daz and Blender sliders. In DS a slider can be changed by other sliders, but it can also be dialled independently. In Blender this isn’t possible, it is either one or the other. So in order to mimic the behaviour in Blender, we need two custom properties, the raw and final properties, cf. On raw and final slider values  .

    To reproduce the DS behaviour, we need to set the Slider Limits to None and Final Limits to DAZ. Alternatively, we could set Slider Limits to Custom and leave Custom Min and Max at -1.0 and 1.0, respectively. We also want to Show Final Morph Values so we can see them.

    When we increase the value of the G8F morph, we see that the final value of the collarbone morph follows suit, as well as the value of the collarbone shapekey. To reduce the influence, we can now make the raw collarbone slider negative. That decreases its final value down from one.

    Then for some reason the G8F slider does not change the collarbone slider in DS. I don’t understand why not.

  6. gourf reporter

    I can't say for sure that I understood everything correctly but I can say it works now. When setting the UNBM slider to 1 and then setting each morph to -1 for the ones I don't want it actually changes. What I didn’t realize was that I wouldn't need to turn each morph sliders to 1 to activate them but instead I should set them to -1 to deactivate them. Thank you so much for your help!

  7. Alessandro Padovani

    The reason is that setting the global UNBM to 1 you set the final values of all the children UNBMs to 1, thus you need to set -1 in the slider to deactivate. This is also why Thomas sets the slider limits to none, since the blender sliders are not driven by the global UNBM as daz studio does. Then setting the global UNBM to 1 is required for the children sliders to work so you can’t avoid it.

    It is to be noted that often sliders don’t work fine in daz studio because of this feature of them driving each other. For example if you set some sliders to one then zero the one again you end up messing the whole set and the sliders don’t work anymore, until you reset the figure. This is a “gimbal lock“ due to sliders driving each other. Then again I’d really avoid such sets as UNBM in blender.

  8. Log in to comment