is there any reason why body controls are not included in the morphs panel ?

Issue #76 resolved
Alessandro Padovani created an issue

First I don't generally use the plugin rigs or import poses since I like to do my own. So there may be something I miss here. But since I see people reporting issues I looked at it out of curiosity.

It seems to me that the plugin imports daz pose controls only for the head entry, where visemes and expressions are kept separated. While the pose controls for the body are not included in the morphs panel and have to be imported as custom morphs.

Now when we import a common daz pose it may use both head or body controls depending on the pose type. Where specifically body poses are very likely to use body controls. For example if we import "base pose kneeling b" for G8F then the "flex quad left" control is used by the pose but it's not found. That's a morph for the quad muscle in the left leg.

Now I understand that actor morphs are intended to be imported as custom morphs since they are not used for posing and are usually baked in the dbz. But I see no reason to only import head controls and not to import body controls, since they are both used for posing.

Again I may miss something so please Thomas let me know if this makes sense at all.

Comments (14)

  1. Alessandro Padovani reporter

    As a side note just for completeness. As I understand it, the import correctives action in the morph panel has nothing to do with body controls. It rather imports the correctives morphs that are visible in daz when we enable the "show hidden properties" option in the panel menu. So the "flex quad left" example above is not listed in the correctives, though its name is pJCMFlexQuad_L. Indeed even if we import correctives the flex quad left stills missing.

  2. Thomas Larsson repo owner

    I have thought of importing body morphs, but I think that most people prefer to pose the bones rather than changing sliders for this. Feels more like the Blender way. Some pose files refer to the pCTRL morphs, but in all cases that I have seen that is optional. A pose may both be described as a collection of pCTRL morphs, and as a collection of bone rotations, so the morph information is redundant. Or it may only be bone rotations, but I have never seen a body pose that only consists of morphs. In contrast, a face pose is often just a collection of morphs, so there you need the sliders.

    The missing pJCM morphs is a different matter. I have to check why they don’t show up as corrective shapekeys.

  3. Alessandro Padovani reporter

    @Thomas thank you very much for your answer.

    I’m not sure I follow though. As I understand it they don’t show up as correctives because they aren’t. That’s why body controls need to be imported the same as head controls. If I only import correctives they don’t drive the body controls. They drive the corrective shapes that are not part of the body controls as shown above.

    edit. That is, bone rotations drive correctives (wether you use bones or sliders), then body controls are more independent morphs over correctives that are used for posing. Not to be confused with bone sliders. Not to be confused with actor morphs that are not used for posing. Indeed body controls don’t include sliders for posing the bones and can’t be used for that. If you look at the daz parameters pane and show hidden properties as shown above it seems quite clear.

    I included a simple test pose for the G8F using body controls if it may help.

  4. APA

    (p)JCMs are morphs, not pose (body) controls. It’s misleading in Daz Studio that the two Flex Quad pJCMs are listed under Poses: it would make more sense to list them somewhere under shaping, then it would be clear they’re not pose controls.

    Although the two quad flex pJCMs may be usefully applied on their own, they are also controlled in DS by rotation of the shin bones. This in theory gives them a negative value - the scalar is -0.0909091! - which oddly the sliders in DS don’t allow (at least by default min is set to 0). So in fact they stay at zero in DS when you apply the sitting pose B.

    After importing the flex quad pJCMs as custom morphs into Blender, then importing the sitting pose B, the driven shapekeys are created for the pJCMs and they get a small negative value.

    I would say that’s a fairly close analogue to the behavior in DS, plus it allows the negative values the drivers produce. It would be a good not to have to import these pJCMs manually however.

  5. Alessandro Padovani reporter

    @APA That’s exactly my point thank you. I already said they can be imported as custom morphs. But I don’t see any reason why they shouldn’t be imported by the morphs panel the same as the head controls.

    As for the quad flexes they’re controlled by the shin bend negative value. Set the shin to -11 that’s the min value and you get a 100% quad flex. But as you said body controls can also be used by themselves, the same as head controls that are morphs as well (possibly driving bones). That’s why I don’t agree for them to be misplaced.

  6. Thomas Larsson repo owner

    G8 characters have flexions which are located in a different directory than the correctives, but are otherwise very similar; the file names begin with pJCM and the morphs are driven by bone rotations. In the latest commit there is a separate button for loading flexions.

    I don’t understand why the flex quad morphs are different from the other flexions, which are hidden. Another problem is that the plug-in cannot construct the formula that drives the glutes clinch morphs. Both issues seem to be oversights by Daz

  7. Alessandro Padovani reporter

    Commit 3792987 doesn't seem to work fine. I mean the flexions seem to be imported correctly I get them in the shape keys. But when I load the kneeling b pose the pJCMFlexQuad_L is reported as missing together with others. If I load the morphs as custom then the errors in the console are fixed.

    Please Thomas let me know if this is the intended behaviour so I'll mark as resolved. Since right know I can't understand your plan about this.

    edit. Also, if importing a pose is always intended to generate errors because the plugin won't import body controls, then explaining this in the docs will help users to stop worring about missing morphs.

  8. Thomas Larsson repo owner

    Report Missing Morphs is now disabled by default, but I’m not sure that that is the best option. Perhaps it should be on but only report missing eCTRL morphs (expressions), and ignore pCTRL and pJCM morphs. Need to think about that.

  9. Alessandro Padovani reporter

    I still don’t understand why the plugin can’t just import all the pose controls. They are listed in the parameters tab I guess the list should be available in the duf file as well. This would make things correct and easy for the user.

    But I’m not a rig expert so may be this is just something I can’t get.

  10. Thomas Larsson repo owner

    Yes, perhaps it would be useful. Anyway, adding an extra panel with pose morphs is straight-forward, and the latest commit does that. Things mostly work, but there are two known bugs. Morphs using splines fail (hand fist), and phm morphs are ignored. I will look into that later.

    Once you load pose morphs, you can no longer pose the bones by hand, since they are now driven by rig properties. However, you can fix that with the Make All Bones Posable tool.

  11. Alessandro Padovani reporter

    Commit d2aef90 seems good. My test pose using body controls works fine now that didn’t before.

    As for having to make the bones posable, I feel this is normal with complex rig dependencies as g8f has. So it is a layer with driven bones and another with posable bones that seems good to me.

    I see the errors in the console still disabled. Is there a way to switch them on/off ?

  12. Alessandro Padovani reporter

    Marking as resolved since both flexions and body controls are here. That seems also to work fine overall though I still missing the console errors.

  13. Log in to comment