Home Technical Talk

Scaling and freezing a skeleton with a rig driver in maya (Metahuman)

polycounter lvl 13
Offline / Send Message
16bit polycounter lvl 13
Hello Polycount, it's been years since I've been around.

I'm sorry if I may have posted this in the wrong forum. Things look different nowadays.

I am not very skilled in Maya, I am a 3ds guy. Nor do I really have a lot of skill in rigging, but I know enough to get by.

I have a character that is about 6'4", and I would like to transfer it to the metahuman character mesh for unreal. The problem being, even the tallest metahuman is only around 5'11".

Now, pictured: I have the Metahuman (Which is 2 skeletons driven by a driver rig) and my character in a wireframe. I have lengthened the driver joints by transposing them, not scaled as scaling bones tends to be bad, so they fit the proportions of my character. I'm pretty sure I know how to keep the new mesh scaled properly. But the moment I export the skeleton, it's going to go back to it's default shape.

How can I set the skeleton that is controlled by this driver rig to accept these new positions as the bind pose?

Replies

  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    i am not expert at this stuff so might misunderstand, but when you say you transposed the joints, you mean that you just moved them manually?

    if that is the case, instead try using the "Move Skinned Joint" tool and then export to test.

    This would bork any dependent animations I am pretty sure, so depending on what you are doing you might be better off making a new skeleton and then using retargeting tools in unreal to transfer animations over.
  • 16bit
    Offline / Send Message
    16bit polycounter lvl 13
    Ah ha.. Well. I'm sure metahuman because I suck at skinning.

    I can't use Move Skinned Joint because that is just repositioning the joint relative to the mesh. I think.

    When I say I transposed the joints, I mean I just moved them to elongate the metahuman mesh to fit the proportions of my character. The image I shared is the metahuman mesh that is the same height and proportion to my zbrush sculpt. The legs and spine are a little longer, the shoulders a little broader, stuff like that.

    I just want to say "Hey, these positions and rotations the bones are at now. I want this to be the new normal". Like if the character was skinned with the skeleton in this position.




    Here is the metahuman at it's normal height, unbound from the skin.


  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    If you change transform of some joints and then import that as a new skeleton in unreal (not reimport but a completely new asset), does it import correctly?

    if so then what you could do is:
    1. save current skin weights
    2. translate joints (no scale or rotate)
    3. unbind skin by deleting history (don't use unbind because I think then the vertices will go back to original bind pose position instead of where they followed your translated joints to)
    4. rebind skin and now the new bind pose is created
    5. paste saved weights (and cleanup if needed)
    6. export and import and new skeletal mesh asset to unreal
    If all of that works you end up with new skeleton in unreal that you could use control rig with or whatever but if you are trying to use some premade animations you'd need to use retarget tools since it is a different skeleton. It should work fine though without much trouble I'd expect.

    there may be more sophisticated solutions to get closer to exactly what you want but I think you'd probably need an actual rigger to know what to do and there could be some specific stuff with metahuman skeleton to take into account as well.
  • 16bit
    Offline / Send Message
    16bit polycounter lvl 13
    Hey that worked. Thanks. But how do I save and paste the weights?

    I used the export weights from the Deform menu, and imported them back and it didn't seem to work.

    I really don't have a clue how to use Maya, I've used 3ds max for 15 years so I can fumble around in here, but only barely
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    unfortunately i do not know the maya native way to copy/paste skin weights as I've been using a plugin call NG skin tools forever.
    I have not watched this video but this channel is a reliable resource I can recommend:
    https://www.youtube.com/watch?v=BbKDxKKFh-U
    If maya doesnt have a native way to export them, so long as you have a duplicated model with the skin wieghts intact i bet you could transfer by vertex ID, since that should still be the same. There is a tool called Transfer Attributes that would likley be the way to go. But I am only guessing - I bet that video probably covers some ways in detail.
Sign In or Register to comment.