Root motion rotation not working

Is root motion rotation possible in unreal at all?

i edited an animation with fk control rig and just rotated the last 2 frames 90 degrees ( i didn’t change the hip at all, which is the next “parent” after root. right now i don’t care about that. i just want the root to change. (root motion is enabled for everything in the animBP)

When playing it as a montage it does nothing to rotation (i’m using the tick event to trace the rotationt). it has root motion enabled in the anim sequence. and i can see that it actually has a rotation when looking at the anim sequence with it turned off.

I tried setting “Allow Physics Rotation During Anim Root Motion” to true, movement mode to “flying”, “use controller yaw” true/false, “orient rotation to movement” true/false. nothing makes a difference.

I created a simple anim bp with just a default slot connected to output pose in the anim blueprint, and a blank character blueprint with just the model. it rotates the model 3.87 units playing the montage, while it should change from 90 to 180. it makes no sense at all. does anyone have an example where root motion rotation actually works that i can look at? it absolutely does apply the translation, but not rotation.

Is there any other options? i tried doing the animation without root motion, but i need it to rotate the root after an animation has played to match up with the idle animation, and if i use “set actor rotation” after playing my montage it will blend it with the animation facing the wrong direction and make the animation look like crap… There has to be a solution to this?

the entire thing is a character walking to a sofa, sitting down (this far the animation uses root movement, but not rotation. and is working). and when getting up the root movement works aswell, but it seems impossible to make the character face a certain direction after getting up from the couch.

i wouldn’t mind using a “set actor rotation”. but i would want to make it not visible. the character is facing the correct way after getting up, but when transitioning to the idle animation it’s facing the wrong direction.

I can’t figure out what’s going on or any alternative solution to my issue. I just want my character to sit down from rotation 0 to 180, and get back up to 90, but it seems that it can’t be done? I don’t care how ugly the workaround is as long as it actually works. :frowning:

Root motion is not something that is easy to handle with. They really need a deep understanding of how animation works.

My suggestion is that if you don’t understand root motion, you can simply fake it or avoid it.

Why don’t you just lerp rotation of your character first before playing the animation? I’ll say just rotate your character to face the same rotation as the chair and just sit. There is no reason to rotate the root bone and when you want to stand up later, you can just stand up, there should be no problem with the animation rotation.

Some animations require rotation of the character, which is difficult to control in code without doing a root motion

Then, rotate it back to the original rotation after you finished.

No, it’s not a good idea to use code to rotate the character after the montage play finished. Imagine if you have 100 montages to play, you need to write 100 rotating numbers in your code to match all montages.