Home Technical Talk

Reset skeleton translation/scale with Maya

armagon
polycounter lvl 11
Offline / Send Message
armagon polycounter lvl 11
I'm reusing the skeleton of an existing character into a new one. Since the mesh is different, i had to rescale and translate the root node of the skeleton a little bit, as well rotate some joints. After that, i successfully skinned the skeleton to the mesh.

Unfortunately, when i play any animation from the old skeleton into the new character, with the same skeleton, the mesh gets pushed to a different position, without my scale or translation transforms. The joints are fine, but the model gets pushed down.

I'm pretty sure this is happening because i'm skinning before resetting the transforms on the root bone. However, when i use "Freeze Transformations" on the root bone, nothing happens, the values don't get zeroed.

Replies

  • monster
    Offline / Send Message
    monster polycounter
    armagon said:
    I'm reusing the skeleton of an existing character into a new one...
    i had to rescale and translate the root node of the skeleton a little bit, as well rotate some joints...
    Then you're not really re-using the skeleton then. :smile: 

    It's still possible to share animations in Unity or Unreal, and in Maya if you are using HumanIK. What game engine are you using?
  • antweiler
    Offline / Send Message
    antweiler polycounter lvl 8

    You cannot (and shouldnt) freeze translation on joints. Therefore the animation will apply the old translation values. You can add an animation layer onto the animations to do the offset. (create animlayer on rootbone, apply offset translation, set key on the layer..)

  • armagon
    Offline / Send Message
    armagon polycounter lvl 11
    It's a custom game engine, so, no runtime retargeting for me. I'm trying to freeze the translation of the root bone, not of the other joints. Basically, i just want to "ground" the skeleton. 
Sign In or Register to comment.