Notifications
Clear all

[Closed] euler xyz, quat, and matrix3

I’m having trouble getting euler rotation controller to animate xyz values correctly.

it seems to lock up the z axis and partially the y axis, any of them really. Tried

setting the Z as first to be processed and have had success with other objects but

not this one. this particular project has the most rotation in it compared to the

rest of my scenes.

Looked in to using the 3 following methods to get the rotations to work at keyframing

time:

at time framenumber V1.rotation = eulerToQuat (eulerAngles 0 0 V1Zr)

at time framenumber V1.rotation = (eulerAngles V1X 0 0) as matrix3

at time framenumber rotate V1 (angleaxis V1Xfloat [1,0,0])

By themselves I can keyframe each of the axis and most time 2 axis work well.

Here I have one angle set and have also tried at least 2 of them with all 3 angles in

one line and still getting the same problem where not all the angles move completely.

some time there is only motion on 2 and none on the 3rd.

have also tried to change the controller type in the motion panel and then re-run the

script and i get the same result.

looked at converting euler values to quaternion and didn’t find much usefull info on

how to do that or how to implement the values

any assistance with how to get the 3 rotation axis working would be much appreciated

4 Replies

You could try replacing the Euler XYZ controller with a TCB Rotation (i.e., Quaternion) controller on this particular node.

Thank you for your post Archangel35757.
I’m pretty sure i set the TCB rotation controller with these:

at time framenumber V1.rotation = eulerToQuat (eulerAngles 0 0 V1Zr)

at time framenumber V1.rotation = (eulerAngles V1X 0 0) as matrix3

I believe it takes the 3 tracks showing in the curve editor with euler xyz and the bezier float and makes it into one track. Just to be sure i will try it again and post results.

No. I don’t think you understood my suggestion. You have an object (a node) in your scene you are trying to animate rotationally and the Euler XYZ controller interpolations between your keyframes are not behaving as you expect.

You can get a better idea of what the Euler XYZ is doing if you set your coordinate system reference to Gimbal, but…

What I suggested was to not use the Euler XYZ controller but use the TCB Rotation controller.

To assign a TCB Rotation controller, do this:
[ol][list=1]
[li]Select your object.[/li][li]On the Motion panel, click Parameters, and open the Assign Controller rollout.[/li][li]Select the Euler XYZ rotation track in the Assign Controller list.[/li][li]Click the Assign Controller button, and then select TCB Rotation from the Assign Controller dialog.[/li][/ol]
[/list]The default Euler XYZ Rotation controller is replaced with the TCB Rotation controller. Now try animating the rotations you want.

Sometimes when I type, what I’m thinking (and what actually happened) doesn’t get on the screen
Anyway I went ahead and created a new scene with 1 object, set the rotation motion controller as TCB Rotation, then ran the script to set the keyframe values on xyz position and xyz rotation.

When I run the animation the Y rotation and Z rotations together in the animation do not behave as then do when I keyframe and run them individually.

It may be that i will have to tweek some of the key positions to make the end product the way it needs to be.

Any other ideas are welcome.