Reply To: Any way to prevent rotations from being normalized it? Or use Quaternions?

Slate Forums Support Any way to prevent rotations from being normalized it? Or use Quaternions? Reply To: Any way to prevent rotations from being normalized it? Or use Quaternions?

#2168
dgoyette
Participant

I’ve spent a bit of time looking into this, and unfortunately the images didn’t submit properly in my initial post. Just to make it clear what I’m talking about, here are the curves generated by rotating an object on its local y-axis a little bit more each frame using the rotation handle for this action clip. You can see the attached image. The basic idea is, as soon as one of the euler components exceeds 360, or is below 0, the keyframe tool is instead storing an equivalent euler rotation. But that’s really bad in terms of actually recording rotation keyframes.

 

Capture

You can compare this to what Unity’s animation recording does in the other image I’ve attached. In Unity’s animation window, continued local rotation of a bone preserves the full euler angle.

UnityAnimationWindow

Looking at the Slate code, I see that the rotation handle is actually just getting a quaternion value, which it converts into a vector3. It won’t preserve any non-normalized-/over-rotation.

So is there a way around this? Another option for storing rotation values without normalizing them like this?

Attachments:
  1. UnityAnimationWindow.jpg

  2. Capture.jpg