Hi! For my animation I need to animate fan blades. Is there a way to animate the blades constantly moving and make it look natural? Thanks in advance!
You can use the “Cycles” F-Curve modifier in the Graph editor. Just set up one complete rotation and then add the Cycles modifier to that curve. Adjust as needed.
a) Set a ROT keyframe at 0 deg rotation.
b) Move a few frames forward, say 20 frames.
c) Rotate the fan blades a nominal amount, say 180 deg. Set a new ROT keyframe.
d) In the graph editor, Tab to enter edit mode for the ROT curve.
e) Press Shift+E and choose Linear Extrapolation.
The fan will now turn forever at the speed you set, e.g. 180 degrees every 20 frames. To modify the speed, just move the second keyframe up the graph (G, Y) to make the gradient steeper.
I’d use a drivers approach… I’ve set up a little test file for you. There is a custom spin property on the bone that can be keyframed. The spin property is how many degrees you want your fan to turn per frame.
I used a little driver function to keep the angle between 0 and 360 degrees. You will find sweet spots that make the fan appear to spin better that are out of phase with the frame rate. Hit play and scrub on the spin property value to find them
Thank you, thank you thank you! I will try all of this when I get home. I’ll report back.
How did you do it?
Thank you batfinger! It works!
Isn’t it easier to keyframe the rotation of the blades, and then (in the Graph Editor) add a Cycles modifier to the correct axis?
@Daccy: Yes… but only if the Cycles modifier is now working! When I last tried it, it came up with an error message, as detailed in another post started by asalina (who commented above). That’s why I suggested the reliable, least complicated, ‘old fashioned’ way of setting two keyframes and extrapolating.
Actually, it’s not the Cycles modifier that’s broken. It has more to do with the interrelationship between the F-Curves window and it’s Properties panel (where the modifiers live). And they’re looking into it.
Could do it that way for sure, and use linear interpolation.
Poofo has done a few posts on here with his fan set up. Setting a property , in this case the spin of the fan, lets you drive other things from it. For instance a button panel with each button depressed if it is within the spin value for that buttons setting. Also a lot of old fans have a sweep function that is also driven by how fast the fan is spinning. Could also drive a wind force with it.
Here is an example of driving the buttons.