FACS not linked with new MHX

Issue #1535 duplicate
Alejandro Huerga created an issue

This one is easy to solve. Using daz bones constraints to MHX, when you move the sliders on daz figure its not linked to MHX slider. So you need to move the slider on both armatures

Comments (20)

  1. Thomas Larsson repo owner

    Hm. The plugin retargets all shapekey drivers to use the daz rig instead of the mhx rig. We certainly want this for the jcms, but it is done for all shapekeys including the facs morphs, which is less desirable.

    I think the way to handle this is to display the properties of the deform rig in the UI when the mhx rig is active. That already happens if one of the meshes is active.

  2. Thomas Larsson repo owner

    Now the deform rig properties are displayed in the morphs panel, even if the mhx/rigify rig is active. Don’t change the name of the deform rig, because the coupling does not update automatically

  3. Alessandro Padovani

    Commit a49a3b9 works as intended, so we can set the morphs both from the mhx and daz rig interface.

    My own opinion. The daz rig is intended only for baking, not for animation. For animation we use mhx or rigify. So it makes little sense to provide the morph controls in the daz rig interface. The morph controls should only be available in the mhx or rigify interface, that we use to animate. But this is minor it doesn’t harm to have controls on both.

    bug. set keys. The “set keys” button for the morphs doesn’t seem to work, not in mhx nor in the daz rig.

  4. Thomas Larsson repo owner

    I don’t know the best way to deal with this, so I essentially retracted the previous commit. The problem: we want jcms to be driven by the deform rig but other morphs like facs to be driven by mhx/rigify. One idea would be to only retarget the jcms to the deform rig, but it is not so easy to decide which morph is a jcm. Many start with “pJCM”, but not all.

  5. Alessandro Padovani

    Commit bd521f8. Now set keys works again.

    bug. div2 shapekeys. There is some confusion. Once we convert to mhx or rigify, it happens that mhx drives the bones and the daz rig drives the div2.

    steps:

    1. import G8F with expressions
    2. test the expressions, facial bones and div2 work fine
    3. convert to mhx or rigify keeping the daz rig
    4. test the expressions, now facial bones are driven by mhx and div2 by the daz rig

    Once we bake the copy constraints, the expressions are baked to the daz rig facial bones, but the div2 are not baked.

  6. Alessandro Padovani

    As for what to do with drivers, I guess everything is fine as far as it works. We need to animate and bake the daz rig, what is easier for you will do. If it is easier to keep everything on the daz rig then fine, we will animate morphs with the daz rig and use mhx and rigify only to pose. Even if from the “interface“ point of view it would be better to have it all on the control rig.

  7. Alejandro Huerga reporter

    Mmm I solved it using copy/paste drivers… but is it a good solution? in that case, I think you could add this option while converting the mxh rig

  8. Thomas Larsson repo owner

    OK, I think I know the right way to do it. In the last commit all drivers are kept, both for the control and deform rigs. The deform rig drives shapekeys, either with bone rotations like jcms, or with properties like facs or expressions. The control rig drives the deform rig properties, which turn purple and cannot be changed.

    The Bake Copy Constraint tool removes the drivers from the deform rig and inserts keyframes instead. The Unbake tool does the opposite. The picture shows the deform rig sliders in the two states.

  9. Thomas Larsson repo owner

    The bake/unbake tools should be renamed, since it is no longer just copy constraints that are baked. Bake/Unbake Deform Rig, perhaps.

  10. Alessandro Padovani

    Commit fdae68a.

    Everything works fine here, both animation and baking, I don’t get the doubled values reported by Alejandro. The only drawback is we have to pay attention not to change the purple values or blender will break the driver, but this is normal with blender. I keep the daz rig hidden while animating to be sure I don’t touch it.

    @Alejandro. You have to use mhx or rigify to animate, not the daz rig, perhaps you animated both and that’s why you get the doubled values. Or let us know the exact steps you followed to reproduce the issue. It works fine for me.

    steps (works fine):

    1. import the figure with expressions
    2. convert to mhx or rigify keeping the daz rig
    3. animate with mhx or rigify, do not touch the daz rig
    4. bake the daz rig

  11. Alessandro Padovani

    Commit fdae68a.

    update. FACS bug.

    Ok I can get the issue reported by Alejandro. It only happens with FACS, while face units and expressions work fine.

    steps:

    1. import G81F with FACS
    2. convert to mhx keeping the daz rig
    3. test the FACS on mhx, the values are doubled as reported by Alejandro

  12. Alejandro Huerga reporter

    Thank you for your work and responses! Just for you to know, I’m using Genesis 9. The bug happens on FACS expressions only.

  13. Alessandro Padovani

    Commit 044e13d.

    bug. bake shapekeys. Everything works fine apart the experimental “bake shapekeys“ option.

    If I select “bake shapekeys“ then the bones are not baked there’s not keyframes for them. Also shapekeys are not baked there’s not keyframes for them. There’s only keyframes for drivers that are kept instead of being removed.

    That is, if I understand correctly what “bake shapekeys“ is for. Or let us know if there’s another use.

    steps:

    1. import G81F with FACS
    2. convert to mhx keeping the daz rig
    3. do some animation with FACS
    4. bake with the “bake shapekeys“ option

    errata corrige. As for FACS the shapekeys for bones are there they only appear for selected bones. But they don’t bake correctly.

    update. If I use G8F with expressions instead of FACS then the baked animation works fine. But again it doesn’t remove the drivers. Also the blender baking tool works fine to bake the bones, but it doesn’t support shapekeys, so shapekeys have to be baked with python or using another addon.

    https://blendermarket.com/products/bake-shape-keys

    steps:

    1. import G8F with expressions
    2. convert to mhx keeping the daz rig
    3. do some animation with expressions
    4. bake with object > animation > bake action
    5. bake shapekeys
    6. advanced setup > morphs > remove all drivers
    7. delete the drivers channels by hand, since “remove all drivers” doesn’t remove the driver animations

  14. Alessandro Padovani

    Commit b1dbf20.

    The shapekeys option in “mute deform rig” works fine.

    update. fbx bakes shapekeys.

    As noted in #1528 the blender fbx exporter bakes shapekeys. This essentially means the shapekeys option is not necessary if we use the fbx exporter.

    steps:

    1. import G8F with expressions and do some animation
    2. export to fbx with the “bake animation“ option
    3. import back to blender, we can see the drivers are baked to shapekeys

    possible bug. bake shapekeys inactive. Then personally I can’t use the bake shapekeys tool. Either if I select the daz rig or mhx or both the tool remains inactive. So I have no idea how it is supposed to be used.

    steps:

    1. import G8F with expressions
    2. convert to mhx keeping the daz rig
    3. do some animation
    4. whether I select the daz rig or mhx or both the bake shapekeys tool remains inactive.

    edit. Ok I see bake shapekeys is avalable if I select the mesh, that makes sense. It also works fine.

  15. Alessandro Padovani

    If there’s nothing to add we may mark as resolved since commit b1dbf20 works fine. It provides separate tools for mute unmute and also a tool to bake shapekeys.

  16. Log in to comment