Notifications
Clear all

[Closed] How do I get "clean" rotations?

Actually, in my script I was using the matrix transformations directly, and for the purposes of testing out the helper object I was simply using the align tool. Can you give me a bit more detail on what I need to do? I.e. what axis order should I use, and how do I incorporate that into my rig?

Edit:
Oh, you changed your post. Well, lemme give that a shot, I’ll let you know how it turns out.

Edit again:
Aaaaand nope. Not seeing any improvement when I change the orientation of the swivel target.

No, what I mean is make sure all the bones, helpers, dummy and targets are matching in orientation.
If that fails, just start the whole thing from scratch checking orientation …use euler rotations. Your rig is not a complex one, it should not be getting any probs.

EDit***…I think you should be linking the bone rotations to the dummy…ie, rotating the dummy, not the bone, or creating another helping linked to the bone, and rotating it.
It’s asking for trouble to rotate bones directly. That’s all Ive got really. No more time to spend on it. let me know how it goes.

one bone is enough to get a problem with converting quaternion animation to eulers and back.

Okay, gonna put this here I guess:

Hm, backing up for a second… I tried reversing the axis order on the helper, and it seemed to match perfectly with the IK-enabled rotations for the upper arm. When I tried to parent the bone to the helper, it suddenly changed angles, so that clearly wasn’t going to work. BUT, when I put an orientation constraint on the bone and targeted it to the helper, it seems to give me the results I want!

I’m not sure if this is going to be a consistent solution or not, but I’ll continue messing around with it and let you know.

Danny: I was initially hoping someone could give me a script to prevent the bone rotations from flipping around, which is why I was posting here rather than somewhere else. At any rate, I need to be able to switch back and forth between IK and FK rotations without messing up the animation. And I want to do this with a script, not manually adjust each and every keyframe.

well u could write a script to rig the whole thing, but first you ahve to work one out manually from start to finicsh with no probs. yes orientation constraint is way to go. Are you working from a tutorial or working by trial and error, becasue there’s no shame in copying someones work flow. Duber has some good clear rigging vids, as has paul neale…no need to reinvent the wheel here…it’s all been done before

Actually, I haven’t been able to find any decent examples of an IKFK rig with an auto-clavicle. This is hardly my first rig, and I’m doing some unusual things with this one. But… it always seems to be the “simple” things that cause unexpected problems to crop up.

i don’t want to reinvent the wheel, but i reinvent my rig every year during more than 10 years. just know… there is no the perfect rig!

Okay, I’m trying to see if there isn’t a simpler (or at least different) way to do this.

When I change the FK sub control rotation controller of the upper arm bone to either TCB_Rotation, or bezier_Rotation (“smooth”), it gives me the results I want. Unfortunately, this leaves me with no way to control the rotations from the track view.

So, what I’m wondering: is there is any way to save the rotation data from the TCB or bezier controller and load it back into the Euler_XYZ controller?

2 Replies
(@malkalypse)
Joined: 11 months ago

Posts: 0

Shall I assume this is impossible?

(@denist)
Joined: 11 months ago

Posts: 0

it’s possible with known limitation.
ONLY Euler_XYZ controller supports more than 180 deg revolution between keys.
if you convert rotation from eulers to quat, there is no way to keep >180 rotation without creating additional keys.
you can easy copy rotation between euler controllers by copying keys for every channel (X,Y,Z)

All right, you say it can be done and I believe you, but how? When I have a bone’s rotation controller set to bezier_rotation() it does what I want, but if I convert it to euler_xyz() it immediately goes back to waving around all over the place.

1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

what do you want? to prevent weird rotations in Euler controller or to fix these weird rotations?

Either? Both?

1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

to fix is easy. just change euler controller to smooth and back to euler. it wipes all >180 revolutions and key tangents.
to preserve >180 rotations you can find all of them and add extra keys
to keep tangents the only way is to store keys parameters, and restore them back.

to prevent is much more complicated. first of all if your tool causes these weird rotation set the value not in quat (or matrix3) but in eulers.

Page 2 / 3