MHX crashes with 1.71

Issue #1642 invalid
Maneki created an issue

I tried to use the MHX rig with 1.71 but as soon as I go into pose mode Blender freezes.
I also got a question: Does MHX have foot roll? I never used the make human rig and I can’t see it but I wanted to try and train animation with a 3rd party character which utilizes that rig.

Comments (18)

  1. Alessandro Padovani

    Works fine here, be sure to update both diffeomorphic and mhx since there are recent fixes.

  2. Maneki reporter

    Mmmh, I actually had the 1.7 MHX version and downloaded the newest 1.71 MHX version now. But it still has the same issue. I don’t even have to go into pose mode, I already have the crash when I try to move the entire rig.
    For reference I’m trying to use this Chun Li Rig: https://smutba.se/project/36600/

  3. Maneki reporter

    The rig has MHX 1.61 listed as download below, with that version it works. It’d be nice if the newer versions would be backwards compatible with already generated rigs.

  4. Thomas Larsson repo owner

    When I open the Chun-Li file I get a bunch of warnings about dependency cycles. They all begin with

     OBChun Li/head/POSE_IK_SOLVER() depends on
    

    Have you assigned an IK constraint to the head bone? I’m pretty sure that no official MHX version has ever done that.

  5. Maneki reporter

    @Thomas Larsson I didn’t do anything to the rig, I just downloaded what was available there. But like mentioned, with the MHX version in the downloads it works, I can’t tell if that’s maybe a modified MHX version.

  6. Alessandro Padovani

    As I understand it the chun-li model comes with mhx 1.6.1, so you probably have to use that version to get her working.

    @Thomas, it is not clear to me if we can actually install multiple versions of mhx. Or if we have to install one. I mean in this case the author distributed a model using mhx 1.6.1, others may distribute models with different mhx versions, if we want to use different models in the same scene then we may need different mhx versions installed together. Unless 1.7.1 is back compatible with everything that doesn’t seem the case. So can we install 1.6.1 along with 1.6.2 and 1.7.1 ?

    note. This is one reason why the rig should be independent from the addon once generated, see #1573, because otherwise multiple runtimes may be needed. Not that this is a bug, rather a limitation by design.

  7. Alessandro Padovani

    update. mhx 1.7.1 works fine.

    I just downloaded and tried the chun-li model, for me she works fine with diffeomorphic 1.7.1.1677 and mhx 1.7.1.0077 in blender 3.6.0, I don’t get any crash she animates fine. The mhx rig is modified with extra bones to pose the dress and hair but that’s usual.

    There’s dependency cycles as noted by Thomas but they don’t seem to harm.

  8. Maneki reporter

    Not for me, got both the newest versions. I had immediate crashes in a modified Blender 3.6 and 3.5 official.

  9. Maneki reporter

    I got another question about MHX, does it have a IK parent switch that when I move the hips for example, the hands aren’t locked in place like Rigify does?
    I can’t seem to find something like that.

  10. Thomas Larsson repo owner

    Something is corrupt in the Chun-Li file. It does freeze for me when I try to do anything. However, when I disabled the mhx addon, saved the file, restarted Blender and reenabled the addon (perhaps several times), it doesn’t freeze anymore.

    However, this revealed a design flaw. The mhx properties are rna properties, which means that drivers stop working when the addon is disabled. In contrast, the morphs are id properties, which work even if the addon is disabled. The properties used to be id properties in some earlier version of mhx, but I changed that at some point because they don’t look as nice in the UI (bool properties are integers instead of checkboxes).

  11. Thomas Larsson repo owner

    OK, it seems possible to have it both ways. The mhx properties are still are defined by the mhx addon, but they are set as id properties and the drivers refer to id properties. So we have a nice UI and things work without the mhx addon.

    To see the difference, do this:

    1. Convert to MHX
    2. Pose the IK rig.
    3. Save the file.
    4. Disable the MHX addon.
    5. Restart Blender
    6. Load the file.

    In 1.7.0 the IK pose is lost, but in the dev version it is still there.

  12. Alessandro Padovani

    As I see it the current approach is not suitable to redistribute a figure/scene. That is, the daz and mhx runtimes are always needed, so if we want to redistribute a scene we have to specify the diffeomorphic and mhx versions required, or pack them with the scene for installation. Then a user who wants to use those scenes may need multiple versions of diffeomorphic and mhx installed, or choose one if this is not possible. This is a severe limitation in the design.

    That said, since the addon is intended mostly for personal projects to use daz assets in blender, then redistribution is not necessary and the addon may be good as it is.

    One workaround, if we want to redistribute a scene, is to don’t use mhx but use rigify or the simple rig instead, then bake the morphs to shapekeys. This way the scene should be independent from the runtimes.

    note. Personally I don’t use any of the provided rigs and do my simple rigs myself just adding ik to daz, similar to the simple rig but with different features and modifications. My rigs don’t have a interface but they’re very simple so don’t need one, and as such can be redistributed easily without any runtime required. If you’re interested I can provide examples. Or may be we can modify the simple rig to be aimed at that, that is, redistribution without runtime, provided the morphs are baked.

  13. Thomas Larsson repo owner

    What I primarily had in mind is if you send away your blend file for rendering. You cannot expect a render farm to have the plugins installed. Perhaps you can include the addons in the blend file, but I don’t know how to do that, so others will probably miss that too. With the new approach animations will work without the addons. The UI would be uglier when the addon is disabled, at least in earlier versions of Blender, but you don’t need an UI if all you want to is render a finished animation.

  14. Alessandro Padovani

    Yes I understand that, the addon is not designed for redistribution. It allows to play the animation that’s another thing.

    But, if it can be of any consolation, even the official daz bridge is the same. That is, the daz bridge is needed to use the rig and redistribution without the bridge is not possible. Though in this case it is probably done on purpose since daz may not want content to be redistributed.

  15. Log in to comment