Hi, I’m from Indonesia, I use unity since unity 4x, I want to use root transform on my animation, but I have a problem, I use a blender, can anyone help?
I’m guessing the problem is that the root motion is not centered. If that is the problem, then you might have the wrong object or joint assigned as the root. If you have the correct object assigned as the root then make sure, in Blender, that it’s facing the right way and looping properly.
1 Like
It’s most likely you have your root motion calculated from your hip bone transformation, rather than from your root bone transformation. There are more ways to settle this:
- In Blender:
- make sure your root bone orientation is consequent, so a “forward movement” in Blender will result as a “forward movement” in Unity (check your fbx. export setting as well, where you’ll find what will be the forward and upwards orientation of your exported mesh/animation/etc.)
- your root bone - to which your hip bone is parented - must have some movement. According to your video, the root bone is 0,0,0 all along the animation sequence
- try to set the root bone on the 1st frame to Y(0) and on the last frame (26th in this case) to Y (-1)
- then open Graph Editor, select the root bone, select both keyframes (1st and 26th) of the Y Transformation, press T, and set interpolation to linear
- this will give you a transformation to your animation which can be turned into root motion in Unity
- In Unity:
- Import Settings : Rig : Configure Avatar :
- make sure all bones are properly set (sometimes to the hips will be your root bone selected, since - as i experienced - Unity automatically connects the top-most parent bone to the hips in the Avatar)
- for having a proper root motion based on your root bone you must:
- Import Settings : Animation : Motion (at the bottom) : switch your Root Motion Node to your root bone in the hierarchy
You may need more adjusting with Root Motion Transform (Y), and so on, but that’s the start.
Hope I helped.
1 Like