I need to rotate an object several revolutions, but in specific discrete angle steps. I can’t find a way to do this, except manually setting each step one by one, which is time consuming (as I need several objects to do this at different steps).
I expected that Delta Rotation would repeat the delta rotation if i just copied the keyframes but id doesn’t and locRotScale doesn’t either. I couldn’t find documentation about them (the online manual doesn’t help at all).
Not to mention, (for normal rotation) I expected that if I turn an object 5760 degrees, the intermediate rotation values would be calculated from that keyframe value, but no luck there either -I had to manually make a low degree rotation, then drag the curve a few miles on the screen vertically from …a high altitude, then adjust it visually with a lot of zooming and panning!
You’re right Richard, I forgot to mention this: If the rendering is 30fps as in the attached example, I need the rotating object (the pointer) to rotate 6 degrees every 10 frames (at 3fps) in a stepped-rotation style like a clock. I did this for a quarter of the circle to show you what I mean, but I actually need it to run for several revolutions and I need to find a non-manual, non-step-by-step way to setup.
I don’t think there is an automated way to do this, and judging by the lack of response I am not alone. The easiest way in your example would probably be to first change the interpolation mode of your f-curve to linear (make sure the extrapolation mode of the channel is linear). In your file you already have the first 45 degrees keyframed but if you are doing a new one you would just need to keyframe the first point. Then in 3D view goto frame 160 (in your example) and press I to insert a new keyframe, then press the up-arrow to advance 10 frames and insert another keyframe, and repeat. (If you have experience with scripting it would probably be easy to write a short script to add a keyframe at every nth frame). When you have gone 360 degrees go to the curve editor and change the key interpolation mode back to constant and then go to the channel extrapolation mode and select cyclic.
Thanks AlanK for your detailed instructions!
I did it in linear first and then I converted to “Constant” as you said, but I didn’t know there was a cyclic feature! Although I have to complete each (different) cycle with many hundreds of manual steps, that saves me from a lot of additional effort.
Also… when your in the dope sheet or the F-curve Editor… hit ‘A’ to select all key frames and then hit the numbpad ‘.’ (dot key or period key) to ‘fit’ the curve to the window frame…
There is possible answer to this problem using NLA editor. Just make one 6 degrees sequence and splice it together in NLA. When you look at key frame option there are Delta Location, Delta Rotation, and Delta Scale option available. I don’t know how to used it though. I looked for information in the manual, but nothing there!? Is Delta key framing working?
The answer seems a bit outdated, but in case someone else will need this info. I was wondering this question myself and found the solution. It will be a single driver (right-click on z Rotation -> add driver, also should delete target variable) with expressions like: -x*(floor(frame/y)), where “-” is a direction, “x” is some value setting the angle and “y” is value define frequency ( 1 means move will be done every frame). If x = 1, rotations will be 57,2957795 degrees for each move. So in your case expressions should be as -0.10471975514357039160275321849841*(floor(frame/10))
The plus of this method, you don’t need to set up any keyframe, all movements fully automated.
Cons: you don’t have full control over animation, because it will be predefined based on frame