I’m new to rigging and animation in Unreal, and I’m getting some pretty bizarre results I don’t even know how to troubleshoot.
I create one key like this:
Then I create a second key like this:
In the middle of the two keys, Unreal decides to do this:
For some reason, it’s changing Yaw and Roll in the middle of keys that should be pitch only. This is the most basic FK Rig imaginable, and this is the only control/joint with this problem, so I have no idea how it’s happening. Any help would be greatly appreciated.
Its got to do with rotation values.
Its picking the fastest rotation out of the possibilities.
The base problem is that you are keeing all rotations.
If you isolate the one you need then, at least in theory since its the same with other DCC as well , you’ll get the result you expect.
I’m not sure what “fastest” means in this context. Do you mean the fewest number of degrees traveled in total? Is there any way to turn that off? No other animation program I’ve used behaves this way. Also, it doesn’t do this for the other leg or any of my other controls.
They literally all do, depending on how you keyframe things. If you use all rotations and key 2 frames, then whatever the shortest path between the 2 frame rotations is used.
Is that less degrees? No, its probably less radians. This depends on what units the sustem for rotations is using. Could be quaternions…
Not sure why the other leg isnt doing it, but maybe you didnt key all rotations instead of just the axis you need for it.
Not sure what other options you have in engine. Perhaps you can constrain the rotation for the rig itself…
OK, so when you said speed, you meant rotational distance (radians being one measurement). My point is that it is NOT the shortest distance unless Unreal is measuring it in some weird way. Here’s the same animation in Maya.
Keyframe 1:
keyframe 2:
Midpoint between the two keyframes:
I have never, with Maya, Blender, or Motion Builder had the leg just randomly pop out like that. Although I don’t know what’s causing it, this seems like an UE5 specific issue.
What axis did you key in maya?
I keyed all the rotational axis the same way I did in Maya. UE5 forces you to key all of them every time you make an adjustment if you want to use the auto-key feature, which I do. However, I only rotated the control along one plane of the widget. I noticed that any time you do this, it shifts all the rotational values for some reason. Whether I have the widget in local or global mode doesn’t seem to affect this behavior, although I could be misremembering. However, this weirdness seems to have no impact on most of the controls. Also, it doesn’t explain why the leg is shooting out instead of traveling the shortest distance. There are only two keys, and it’s just doing something completely crazy in the middle.
Ok…
Then possibly, can the gizmo/rig be set for opposite rotational axis than you think?
Usually, character’s skeleton has one leg with x facing forward, one facing back.
If you built the rig without knowing this, its possible to get bad behaviour out of it (in anything not just unreal).
Your mesh looks custom, the bone names did too, so I figure you probably also made the rig custom.
If you did not, then it is possible that its attempting to conform to the regular character’s behaviour when it should not.
What does the complete motion look like?
If the leg is going down, sideways, down, its likely to be an axis problem.
If its taking 2 rotations and doing some sort of wide kick, there’s something else involved.