Jumping rotation values

Hello! I’m doing some experiments with Ragdoll, as it’s a great tool and I’d like to implement it into my pipeline. However, when I bake out animation, there are usually jumps in the animation curves. These jumps are similar to what you get when you retarget mocap and the Euler angles are compensating. Is there any way to bake animation without this? These jumps make the animation unusable without cleanup. As they prevent downstream simulation and other elements (like motion blur) are completely out of the question. Is this something fixable without doing extensive cleanup? Thanks in advance for any feedback!

Yes! Those are gimbal locks, happens all the time. The Record Simulation has a few options related to this, and they should be enabled per default, but it does happen that they miss.

To do it manually, pop open the Graph Editor, select all rotate XYZ curves and go:

  1. Curves → Change Rotation Interp → Quaternion Slerp
  2. Curves → Change Rotation Interp → Independent Euler

image

With that, no more gimbal locks.

There is also Euler Filter, which does something similar.

image

This is what the Record Simulation command should do every time you record and is perfectly safe, it does not break or change anything visual in your character animation, and works equally well for motion capture or anything else baked.

1 Like

Fantastic! That’s very much for the information! Clear and very useful.

1 Like