Rotation not working as expected in control rig. Possibly a quaternion issue?

Anyone know anything about quaternions? I’m trying to break a rotation value within control rig from a get transform, add a value to one rotation axis and feed it back into a set transform, but the rotation gets messed up, I believe it might have something to do with needing to convert to quaternions, but i’m not sure!

First, you don’t “add” to rotation, you always “multiply” rotations.

Second, rotations are coordinate system dependent. Thus, the rotation you add has to be expressed in the coordinate system of the rotation value. That can either be world space, or parent space – you have to check.

Third, rotation is order dependent. If you have a pencil pointing from origin straight along X, and you rotate it 90 degrees around Z, and then 90 degrees around X, you will get a different outcome, than if you rotate it 90 degrees around X (spinning along its axis) and then rotate it 90 degrees around Z.

If the rig graph has combine rotators

Odd, I don’t have make rotator, or combineRotators in my context menu within the Rig Graph even with context sensitive off I can’t seem to find it :thinking:

I never used rig yet but I knew what you wanted but it doesn’t seem to have rotator helper functions then can you fill in the To Rotator with 90 and Multiply that by the rotation node.


I got it working! I can now input my own rotation from a variable and combine it with the control to ultimately move the bone. Here’s what I ended up doing:

Thanks for the reply’s and ideas! :slight_smile:

3 Likes