Download

Root motion with crouch animation (using 3dsmax and character creator 3)

Hi!

I want to do a sit animation (I’m a begginer in 3D animation) and use it in unreal engine 4, but I have been hard stuck for maybe 2 weeks to do one simple basic thing.
This is a question related to unreal engine 4, but also 3DSmax and character creator 3, so I hope it’s ok for me to post here.

The bone hierarchy of my character creator 3 briefly :

2021-04-11_14h28_20

I’ve removed some IK stuff from the hierarchy that are not related to my issue (meaning if I delete all of them, I still have my issue).

I want to do a very simple "crouch " animation in 3DSmax with a character imported from character creator 3, just like that :

In the picture, I have selected the root and drag it down on the z-axis to lower the character. This does cause an issue in unreal when I will activate the root motion, because in this animation the root bone is not located between the foot. So in unreal, the character will be levitating, and the root will be at the floor level.

So in order to have my character not levitating in unreal, I need to have my root bone between by foot.
It means that in 3DSmax, I should not move my root on the z-axis.
One solution would be to move the pelvis on the z-axis, instead of moving the root on the z-axis. Since the pelvis has every bones as children (you can see in the picture of the hierarchy, it has the upper body and lower body bones as children) it could be ok to do that.
The issue is than I can’t translate the pelvis easily. If I try to translate the pelvis on the z-axis, the character rotate around the root :

In this video, I also try the y-axis and it does a similar things.

So ok the movement of the pelvis is weird, but the body does lower on the z-axis. It means that I can manage to have my skeleton crouched without moving the root on the z-axis! I mean, when my character is leaned, I can rotate my pelvis and retract my feet to have them aligned if the floor. So I have the same result like in the picture above I showed you (the crouched posture). So it could be all good in unreal!

A video to demonstrate that :

BUT! there is one issue that makes the animation not working has expected in unreal.
By translating the pelvis like that, I actually indirectly rotate the root! I mean, when I move my pelvis on the z-axis, it actually register a rotation of the root at the same time! I show this in another video :

So why the root rotation is an issue? Because in Unreal, when I active the root motion and the root does a rotation., the result is weird :

As you can see in the video, the animation in unreal doesn’t work well when I activate the root motion. It’s as if the root rotation was not taken into account in the only keyframe of the animation.

So this is my issue. At this point I tried a lot of things that I can’t enumerate here since it would be too long, but maybe you have an idea to fix this in a clean way? I mean it’s not like I was doing somethings very specific, in every walking animation for example we need to lower the body (actually I want to make an attack animation but I need to crouch a bit for that).
And 3DSmax and character creator 3 are not some obscure softwares, so I feel like I miss something very basic, but in more than 2 weeks I didn’t find anything.

Thank you for your help

Didn’t read your whole post.

You need to move the pelvis down. And you never touch the root bone. In fact, if you can, lock it so you don’t move it.

You may be better off using blender as you can find more tutorials.
If you are just translating the pelvis downwards there should be no rotations applied to root.

I already tried to lock the rotation of the root and move the pelvis. But when I do that, the pelvis just does not move.

“If you are just translating the pelvis downwards there should be no rotations applied to root.”

I agree, it seems logical to me that the translation of the pelvis would not affect the root, but it does and I don’t know why.

I’m going to try with blender

I found a clean and easy solution, I’m so happy…

First this is not an unreal or CC3 issue, only 3dsmax (actually it’s not really an issue, it’s just how it works, you can experimente in 3dsmax how a hierarchy of two bones move).

The solution : You create a mesh (a cone for example), then select the pelvis, add a position constrains on the mesh you just created. To move the pelvis, move the mesh. You can move the mesh wherever you want, the pelvis will follow. The root will not move.

And if you bake your animation and test it on unreal, it works (I did several test).

One issue is that when you move your mesh, the root does not follow. But you can also add a constrains on the root to the mesh (I will try that)