Interaction of favorite morphs and grafts

Issue #1029 resolved
Luis Pereira created an issue

Hi.

In short, in my tests the “favorite morphs” functionality doesn’t seem to handle grafts the way I assumed it would, based on the blogspot description “A preset [favorite morphs] consists of any combination of standard and custom morphs for a genesis character, plus custom morphs for associated geografts and clothes”.

More explicitly, I expected “save favorite morphs“ and “load favorite morphs“ to save and load morphs for the main figure and the grafts jointly in a single json file. However, I only seem able to save/load those morphs corresponding to the current active object.

Seem like either I’m expecting the wrong thing, or I’m selecting objects the wrong way, or this is a bug…

Comments (9)

  1. Luis Pereira reporter

    Sadly that is not the issue. I am aware that morphs need to be imported before merge, so I was likewise trying to save them before merge.

    I’ve tried saving the morphs under different conditions: either with no object selected, or with the main armature selected, or with all the meshes selected (1 main G8F mesh and 2 grafts - GoldenPalace and Brestacular), and in all tests only the morphs for the mesh that was selected last were saved.

    From looking around other issue reports I’ve seen people whose json includes multiple meshes, so I assume that’s the intended functionality, but I just can’t seem to get multiple meshes to work with favorite morphs. I even tried saving separate json for each mesh, manually merging the json myself, then trying to load the merged json, but again the only morphs that loaded were those for the mesh that was selected last.

  2. Alessandro Padovani

    In the docs it says all the children to the armature are considered. May it be you just have to select the armature ?

  3. Luis Pereira reporter

    All right, your last comment finally allowed me to nail down the issue.

    After a further test it seems like Diffeomorphic does indeed consider all children of the armature (when the armature is selected), but does not consider grandchildren. So the problem is that the grafts each come parented to their own armature, which is in turn parented to the main armature.

    And, indeed, after reparenting the grafts to the main armature I can indeed save and load morphs for all meshes at once.

    That said, this does seem like unintended behavior: unless the graft armatures are completely redundant, which presumably they’re not, one should be able to save/load without reparenting the grafts.

  4. Thomas Larsson repo owner

    Hm. I always merge rigs before loading morphs to the geografts. In that way all meshes are immediate children of the armature. The merge rigs tool adds the extra geograft bones to the main armature, so the bones should be there when you load morphs. If you keep all original armatures then different morphs will be driven by different armatures.

  5. Alessandro Padovani

    As Thomas says, in general the diffeomorphic workflow requires to merge rigs, and to make all bones posable. This is needed for animation and are required steps that we may also remove from the options and include as automatic on import. But are actually left as a user choice both for manual and easy import.

  6. Luis Pereira reporter

    Got it.
    I felt like I had to be missing something basic, and it turned out to be merging the rigs. I was skipping that step since merging the grafts to the main mesh made that step somewhat redundant for my purposes.

    Either way, thanks for the help.

  7. Log in to comment