about erc morphs and facs (also Engetudouiti and Xin please comment)

Issue #685 resolved
Alessandro Padovani created an issue

I am not a rig expert so this may be better reviewed by Engetudouiti and Xin. Also I understand that no new features are supposed to be added to 1.6. But, as for "morphing" armatures, that is, armatures changing the start and end rest points, we may get a limited support in blender by using bendy bones.

https://www.youtube.com/watch?v=-MgU7qOkufU

The idea is that instead of a single bone, we get a bendy bone with two control bones for start and end. The control bones will follow the daz start and end points. Personally I don't expect this to work fine in general for the daz morphing rigs, because there will be some difference in the deformations. But it may work fine enough for stretching effects such as the facs tongue.

So as a first test and experimental implementation we may try it with the G81 tongue. Or we may add a tool to change a FK chain into a bendy chain with control bones.

Please Thomas let us know what you think.

Comments (9)

  1. Thomas Larsson repo owner

    No, I don’t think that could work. The stretching of the mesh is done entirely by the shapekey. If you move the tongue tip in pose mode, either directly or by moving its parent, that will cause additional deformation of the mesh.

    In principle, the following method could work:

    1. Move the tongue bones in pose mode to the right position.
    2. Apply the armature modifier as a shapekey.
    3. Subtract this shapekey from the original one.
    4. The corrected shapekey + the moved bones should now produce the same deformation as the original shapekey alone, and the pivot points should be right.

    But that would be a mess to implement, and would certainly increase the time needed to load morphs considerably.

    Although this problem happens in principle with many facs morphs, the only case where I have had a problem is with the tongue penetrating the lower lip or chin, and in that case one can usually save the situation with negative values of some other tongue morphs.

  2. Xin

    I agree with Thomas.

    I also tried once to find a way to move bones as in edit mode, but I didn’t find any viable way to make it work as a regular driver.

    An operator could be made to change the bone positions (in edit mode) based on the formulas and a pre-selected morph factor. It wouldn’t be a continuous change like with morph sliders. It would also not only require the user to manually press the button for a certain factor, it would also be relatively slow. And of course, it wouldn’t be animatable.

  3. Alessandro Padovani reporter

    Thank you Thomas and Xin for your comments and explanations. At least to me they’re very useful to better understand things. I’ll leave this open for a while in case someone else may want to add comments or ideas.

  4. ViSlArT

    I don’t know what you’re talking about, as in what the point of something is or what your goal is. Maybe I’m just stuck on the specifics I’m reading, and thus failing to come to the conclusion of what they were supposed to do, IE lost in the details.

    Bendy bones: they “functionally” do nothing but split a single bone into multiple smaller bones, and control them from one control point.
    It gives auto spline deformation (when you control the bbone properties or the start/end handles).
    And when using a constraint that supports it, it gives you a sliding pivot point (like the Copy_Location or Armature constraints).

    I don’t know what a facs tongue is or how any of this has to do with shapekeys.
    What I’m thinking is in relation to using morphs that change the body’s pose, which requires changing the armatures rest pose or the mesh will deform incorrectly (because the pivot points are wrong now).

    I’m reading Thomas’ 4 step procedure as a tedious solution to that problem.

    And then I come back to how none of that has anything to do with Bendy Bones, because of the aforementioned functionality of them.

    I would like image/video recordings, highlighting the issue and solution 👩‍🔬

  5. Alessandro Padovani reporter

    @Visiart The issue is that genesis supports morphing aramatures, that is, armatures that can change the rest pose, that is, the rest pose is keyframable. Think about a human turning into a werewolf for example. While blender doesn’t.

    I agree that bendy bones has little to do with it. What I was arguing is that they may be used for stretching effects, when the morphing armature is mainly used for that, as in the G81 tongue. But I agree the deformations will be different so may be that’s not worth the effort to try.

  6. Log in to comment