Bug/Issue with roblox animator CurveAnimation clip

For some reason, when I use CurveAnimation clip on roblox animator I cannot rotate any rig over 180 degrees without it flipping out.

This is happening with the rig im currently working on, but 100% happens on any other rig

https://i.gyazo.com/b8837a360adf6be441766cc9632593e2.mp4

I’ve tried making using roblox animator regulary without the curveanimation, but its a lot smoother with it, and I need this character to turn.

Is there something I dont know about this or is this a problem with the animator itself?

4 Likes

Are you rotating the part that’s directly connected to the Root? If so, then this is expected. If you want to code in movement, rather than setting the weight of a right, left, forward, and back animation, you should set the C0 instead.

1 Like

nope, im moving the torso bones. i noticed that i cant even turn a default r6 character more than 180 degrees when i have the animation editor set to CurveAnimation clip. everything works normally when using animation editor without it, but i want the CurveAnimation mode for smoothness

1 Like

This is a curve animation issue, it’s probably because when the orientation resets, the engine decides to interpolate the values in a way to get to the end position weirdly. Super annoying.

2 Likes

Hello there, sorry we missed your post.

Can you please send us a copy of your rig and the animation that causes the issue so we can have a closer look?

Can you also describe how you created that animation? Was it imported from an external tool, or was it created from scratch? Did you promote a KeyframeSequence Animation to a Curve Animation, or did you create it directly with curves? Did you convert from Quaternions to Euler angles at any point?

Thanks!

1 Like

Hi, sorry for the late response.

This bug is not unique to this rig and I have experienced it with basically every rig I use.
Replicate:

  1. Create an animation for any rig, I used a bone rig for this.
  2. Convert to CurveAnimationClip
  3. I’m not sure of the exact cause, but when I try and rotate a limb/bone over 180 degrees on any axis it just starts spinning out.

This doesn’t happen with regular animations, just when I use the CurveAnimationFeature. It has also happened to others, so it’s not a problem for me alone.

If you’d still like the rig, let me know and I can provide it, but like I said, it happens with every rig

Thanks

1 Like

Hi there,

Can you please check in the settings menu (the cog wheel on the top right side of the ACE) if you are using Quaternions or Euler Angles?

If you are using Quaternions, this is expected. Quaternion rotations always take the shortest path between two orientations, so you cannot rotate by more than 180 degrees. What you need to do in that case is add one intermediate key. Euler Angles don’t have that limitation.

Thanks!

1 Like

Hi,

I have never really used Quaternions, in this clip you can see I have Euler Angles selected and it still spazzes out when I go over 180 degrees.

https://i.gyazo.com/cffcc9ed8e24d392371324c64a4f1785.mp4

1 Like

Hi there,

This is a very interesting problem. The issue is that the draggers don’t have any idea you are animating from an angle of about 135 degs to an angle of 200 degs, they just see an angle of -160 degs, because that is the orientation of the local coordinate system in the global system. If you switch to the curve view, the graph for the Z angle of the rotation should make it pretty clear: it goes from 0, to 135, then to -160.

RobloxStudioBeta_aXcycqLtTN

We will see how we can improve the draggers logic to take the previous keyframe into account.

In the meantime, as a workaround for now, you can manually edit the angle by either adding 360 degrees, or subtracting 360 degrees, depending on the way you rotate.

Using quaternions, instead of Euler Angles, would also solve this issue.

1 Like