This is probably a trivial problem but I just can’t seem to find the answer. How does one animate a rotation of an object in the plane of the object vs. the plane of the scene?
For example, I create a cube and put in a Rot keyframe with all parameters zero for frame 1 and RotX=359.99 at frame 91. When I animate the cube it spins nicely around the X axis (the local X axis is the same as the global X axis). Now I want to take that and rotate it in the Z axis by 45 degrees. The effect should be a cube, slanted by 45 degrees and rotating about the cube’s center point on its local X axis. What happens instead is it’s tilted by 45 degrees and is rotating around the global X axis.
I shouldn’t have to try and figure out the transformation matrics myself for this; there must be a key/button/something somewhere, and I’m simply being too obtuse to find it.
I’m thinking you may get what you want if you change object’s origin to the point you wish it to use for the pivot point. To change it put the cursor in the position you want and then in the edit window for that object select ‘Centre Cursor’.
Hope this helps,
PamTango
if you want your object to roatate around one axis, and it and something else (possibly not visible) rotate around something else, why not multiple objects.
(I have this odd inclination to make a differential right now)
Just create an empty at the center of the object that has all of its axis in line with those of the object. Make the empty parent of the object. Use the parent to move rotate and resize the object. Use dRot to rotate the object relative to its parent.
Since both local axis are the same it will behave like it’s rotating around its local axis when it really rotates around the axis of the parent, that is the empty.
I’m not being clear in what I’m trying to accomplish. Let’s try this one:
Start Blender. Create a UVSphere. Place the cursor a short distance in back of the sphere, switch to Front View and add some text (15 or 20 characters). Convert to Curve and then to Mesh. Center the text mesh horizontially and vertically on the sphere. Put the 3D cursor into the center of the sphere. Subdivide the mesh a couple of times and then use the Warp tool (shift-W) to warp the text mesh around the sphere (pull from back to front to keep the text in the correct orientation). In the Edit buttons use Centre Cursor to move the center of the text mesh so that’s it really is in the center.
What you should now have is the text orbiting a short distance above the sphere’s equator. If you animate the text rotating in the Z plane it will appear to orbit around the sphere. This is the easy part.
What I’m trying to do is to get the text to orbit at a 30 degree incline to the plane of the sphere (the Y axis plane). If i merely rotate 30 degrees and then animate a rotation around the Z axis the effect is not the same (it’s an interesting effect but not what I’m looking for.) I want the text to orbit at that 30 degree angle.
I can’t do the obvious trick of rotating the camera 30 degrees in the other direction as there will ultimately be several of these text strings orbiting at different heights, speeds, and angles.
The “classical” way of doing these transorms is to translate the object (the text) to the origin and parallel to the plane, rotate the object around the origin, and then translate back to the original position and repeat for each frame. This provides for both global and local reference planes.
I hope this clarifies what I’m trying to accomplish.
After re-reading the section on IpoCurves in the 2.0 guide I figured out the answer. The trick is to animate the text while it’s parallel to the global Z plane, create an empty at the center point for the text mesh, parent the text mesh to the empty and then rotate the empty 30 degrees around the Y axis. Parent objects propogate rotation and scaling to the children (in effect creating the local reference plane).
Amazing what you can find when you (re) read the manual!