1.6 Merge rigs problem ( hair, eyelash ..)

Issue #515 resolved
bouich jules created an issue

Hello,

I have filmed a video, it works perfect with 1.5.1 but it doesnt work with 1.6

when i try merge rigs of some of my character in 1.6 it just break everything the hair, eyelash etc.. are not in the correct position. Weird i have this error only in 1.6 and only for some characters works fine 1.5.1 you can check video

Thank you

Comments (27)

  1. Alessandro Padovani

    Just some guesses that may be can help. Then if these tips don’t work please give links to the specific figure and/or hair that doesn’t work. Does the hair work with the standard figure ?

    1. The dbz file may be different in 1.5.1 and 1.6.0, so when you load 1.6.0 you may want to export the 1.6.0 dbz.
    2. I see that Thomas added “experimental scale morphs” in the global settings in 1.6.0, that you may want unchecked.
    3. In the video I see that you keep many “temari” collections in the scene, you may want to delete them before importing a new “temari”. Though this shouldn’t be a issue, but just to check it.

  2. Alessandro Padovani

    Thomas, if the duf files are different in 1.5.1 and 1.60, may be 1.6.0 should version it and throw a warning if the duf is incompatible. I mean if this is the case, I don’t know it’s just a guess.

  3. Alessandro Padovani

    Tested temari adult and I can confirm the issue, the hair is misplaced when we merge rigs.

    steps:

    1. install temari adult from https://www.patreon.com/posts/48241600
    2. import the test scene temari-adult.duf
    3. merge rigs

    edit. Note for Thomas. I see that the temari hair doesn’t get the usual “hip to head” rig, it only gets the hair bones that are parented to the head bone in daz studio. May be this is why the plugin gets confused when merging rigs.

  4. bouich jules reporter

    the merge rigs issue not only temari, i’ve notice a lot of other models. workes fine in 1.5.1 for all for all of them.

  5. Thomas Larsson repo owner

    The merging problem happens because the head bones of the body and the hair rigs are not located at the same place. Need to think about how to deal with that. However, not during the next few days, because I will be out of town during the holiday (ascension/Himmelfahrt) .

  6. Alessandro Padovani

    Then have a happy holidays Thomas lucky you, unfortunately we don’t have it here in Italy. And yes I did check the calendar just to be sure I won’t miss any holidays, you never know 😅.

    As for the hair head bone, this is not a conformed item (fit to), it is a parented item (parent to), so the bone name doesn’t matter. I mean, the fact that it is called “head” the same as the figure “head” does nothing, it could be called “goofy” and would be the same. Unless I miss something.

    That is, in daz studio we have the hair “head” bone parented to the figure “head” bone.

  7. Alessandro Padovani

    IMPORTANT UPDATE (MAY BE SOLUTION)

    Then I see that the importer already gets the parented items in place with the right figure bones. For example the temari fan is parented to the figure hand, and the temari hair, eyelashes and eyebrows are parented to the figure head.

    So may be the user should just not merge parented items. But it may be hard for the user to understand what’s a parented item and what’s a item to be conformed with merge rigs. So the merge rigs tool could just check if the item is parented and if so do nothing, that is, not merge it. Then the merge rigs tool could also display a message just to warn the user “parented items are not merged“.

    1. Parented items (parent to) are parented to a figure bone, and do not have to be merged.
    2. Conforming items (fit to) are parented to the figure armature, and have to be merged.

  8. Thomas Larsson repo owner

    Seems to work now. In a previous version I probably used an operator to clear the bone parent and keep transform. I was under the impression that it could be done without operators by setting the world matrix, but apparently it didn’t work. So now the tool uses operators again, and it seems to work.

  9. Alessandro Padovani

    Hi Thomas welcome back, hope you had nice holidays. We had the ascension at the church today but no holidays for us. 😅

    As for the issue it looks like you didn’t read my comments. Commit 9b7e49b doesn’t work fine because it also merges the parented items. That’s not desirable also to import animations. That is, items that are parented (parent to) in daz studio should not be merged in a single rig. Only conformed items (fit to) should.

    Or please let me know if there’s any reason to merge parented items. Or may be we could have an option to merge or not merge parented items together with conforming items. But personally I don’t see how merging parented items could be useful.

  10. bouich jules reporter

    @Thomas its still not working, if you merge rigs then import a pose, the hair will not follow the main rig.

  11. Thomas Larsson repo owner

    I have been working on this, but still haven’t got the matrix algebra right. Will try again tonight.

  12. Alessandro Padovani

    Thomas there is nothing to fix the importer works fine. It just doesn’t have to merge parented items. Unless I miss something.

  13. bouich jules reporter

    Well that’s different than 1.5 and it created a new issue expression on eyelashe and eyebrow no longer works, ive posted a new issue.

  14. Alessandro Padovani

    Bouich, what do you mean 1.5.1 works fine ? As for 1.5.1.1080 it doesn’t work here, it gets the hair issue with merge rigs. Furthermore 1.5.1 is wrong twice because it also merges parented items that doesn’t make sense.

    Then 1.6.0 works fine here with commit b82f7dc. As for apply scale it seems an issue with blender itself for parented items. Not sure why. But it works fine if you unparent, then apply scale, then reparent.

    May be Thomas can provide a “apply transform” tool that works with parented items. Or a “apply transform” option for merge rigs. I will try to understand what’s the issue with blender though.

    steps:

    1. unparent parented objects
    2. apply transforms both to parent and children
    3. reparent parented objects

  15. Thomas Larsson repo owner

    This is tricky. After merging rigs, I managed to transfer shapekeys, but only after

    1. The object transform of the eye mesh was applied.
    2. The object transform of the main rig (scale = 0.92) was cleared. The scale can be reapplied once the shapekeys are transferred.

    However, the problem with lashes and brows is not a matter of shapekeys. Instead, the face bones in the corresponding rigs do not move, because they have not been merged with the main rig, since these rigs are bone parented to the head bone.

    The current code works well with the more common case of earrings, which normally are bone parented to the head or ear bones. But in this case one wants to both bone parent the rig to the head, and merge the face bones. Not sure how to do that.

  16. bouich jules reporter

    Indeed sorry Alessandro you are right it doesn’t work with all previous version either.

  17. Alessandro Padovani

    Thomas, we do not have to merge rigs for parented objects. Because they are not conforming in daz studio, so there’s nothing to merge. Commit b82f7dc works fine.

    As for the issue with apply transforms, we may fix it with the three steps suggested above. That is, unparent, then apply transforms, then reparent. But I’d like to understand why apply transforms doesn’t work in blender in this case. Will do some tests.

  18. Alessandro Padovani

    I see .. it seems the temari brows and lashes are both parented and conformed. This usually doesn’t happen with daz figures since conformed items are not parented to a bone. This is a tricky case indeed.

    edit. Anyway to avoid confusion I’d close this as resolved since merge rigs is fixed. Then go on with #526.

  19. Log in to comment