Spinning on both local and global axis

Tough to describe in words. Say you have a top spinning quickly on its local axis at a 20 degree angle from vertical. I also want it to spin at a much lower speed around the true vertical (world axis). Can’t figure out a way to do this – tried for an hour or two :expressionless:
Would be easy with an ipo for local axis rotation but unfortunately we don’t have that.

Thanks for any help,

Use an empty for the global rotations, parent the top to it and use it directly for local rotations.



use it (the top) directly for local rotations.

How do you do this? Say I keyframe every 90 degrees of local rotation. A bezier curve is intrerpolated in between (the world rotations) which isn’t correct – there is a visible wobble and its a mess to smoothly speed up and/or slow down the local rotation while varying the tilt of the top. I hope you follow what I’m saying.


For parented objects, the rotation, location and size keyframe are in relation to its parent. In your case, the empty would be titled to the side to make sure the top is local space aligned (hence, it’s Z rotation axis would interpolate correctly). End when you rotate the empty on the global Z axis, it would rotate correctly too.

Was that ok as an explanation? If not, I could do an example file tonight.



For parented objects, the rotation, location and size keyframe are in relation to its parent.

I tried it and finally got it working :smiley: Note that it only works if you rotate locally about the x axis (this is what was throwing me off for the looonngesst time).

Try it with a cube, arbitrarily tilt it and parent it to an empty for the world axis and try spinning the cube locally in the ipo editor about an axis other than x and it uses the global axis instead!
Perhaps a bug, Gimble noticed this as well – a quote from another post I found about this subject:

I believe the only way using (local) Rotation IPOs is to ensure that your object is rotating wrt its local X axis. I made an example here using a cylinder which was arbitrarily inserted at some view angle, which is parented to an Empty.

I guess I should use search more often.

Thanks for your help

That’s why I said the empty had to be axis aligned with the top. I’ll do an example file tonight, might be good for future references too. :slight_smile:


Now I understand completely – thanks for your time.
I’ll put it in my next video tutorial (keyframing and ipo basics)

** edit **
just tried it – empty axis aligned with top before parenting top to empty. X axis is still the only one that works :frowning:
** end edit **

** second edit **
OK, finally got it!! It is not enough for the object and the empty to have their axis aligned. Any rotations must be cleared from the object before parenting to the empty and all works as it should. I’m a happy camper.
** end second edit **

Thanks again,