Basically, I want "Cycles" modifier to repeat only the last two keyframes of many others. Restricting frame range doesn't help me at all. So how to set it right?

Here is screenshot. Frames 40-60 are what I try to repeat. http://www.pasteall.org/pic/104876 And .blend http://www.pasteall.org/blend/42636

  • $\begingroup$ Can you include a screenshot? Restricting frame range on the Cycles modifier should work just fine. Also, make sure that you actually have the desired f-curve selected in the Channels region of the Graph Editor. $\endgroup$ – Fweeb Jul 7 '16 at 14:53
  • $\begingroup$ Screenshot is added. $\endgroup$ – Serge L Jul 7 '16 at 15:19
  • $\begingroup$ What is the duration of your cycled animation? Since your keyframes go from frame 1 to frame 60, but your cycle interval is only 20 frames long (from frame 40 to 60), there's not really enough frames to cycle at all. Also, what are the rotational values you're trying to keyframe? Are you going a full 360 degrees around the Z-axis? $\endgroup$ – Fweeb Jul 7 '16 at 16:28
  • $\begingroup$ For first 40 frames it is 360 Z-axle rotation, then reduces to 270 degrees til frame 60. This 40-60 frame range supposed to be cycled over and over without first full rotation. Blend file added if you need. $\endgroup$ – Serge L Jul 7 '16 at 16:41
  • $\begingroup$ Ah! I see the misunderstanding. Restrict Frame Range restricts where the modifier's results go; it doesn't let you dictate what frames to use in the cycle. To do what you're looking for, you might be better off using the NLA. Create two actions: one for the first bit from frame 1 to frame 40. Then create a separate action that's 20 frames long for the repeatable part. Then assemble them in the NLA. $\endgroup$ – Fweeb Jul 7 '16 at 17:51

The Restrict Frame Range values for f-curve modifiers doesn't work in the way you're trying to use it. Those values restrict the output region where the modifier's result can be seen. The modifier itself still applies to all the keyframes in your f-curve.

As a workaround, you can get the same effect you're looking for by using the Non-Linear Animation (NLA) editor. For your specific example, you'd use the Action Editor mode of the Dope Sheet to create two actions (both start at frame 1):

  • Action 1 (staging) - This is the non-cyclic animation. In your specific example, this would be the first 40 frames where you rotate from 0 degrees to 360 degrees.
  • Action 2 (cycle) - This is the animation you intend on cycling. In your specific example, this animation would be 20 frames long and rotate from 360 degrees to 270 degrees.

Use the Push Down button in the Action Editor to Add each action as a strip in the NLA. Start the staging action at frame 1 and the cycle action at the end of the staging action's frame (in your example, that's frame 41).

Now, with the cycle action still selected, go to the Properties region of the NLA (reveal it by pressing N with your mouse cursor in the NLA editor). Scroll down to the Animation Clip panel. The last slider in that panel is labeled Repeat. Increase that value for as many repeats of the cycle action as you need.

Here is a .blend file, based on your original example, that shows the work-around in action.

  • $\begingroup$ It is strange, but In your edited .blend two actions seems not to be combined. Cube rotation depends on that action which is chosen right now. So I tried to "Push down" staging action and animation have started working as intented but I totally lost ability to control values (degrees) because of disappeared keyframes. Screenshot of my corrections pasteall.org/pic/104894 $\endgroup$ – Serge L Jul 7 '16 at 21:51
  • $\begingroup$ My apologies, I had the cycle action left in the Action Editor when I'd saved that file. I've uploaded an updated version of the file (and updated the link in the text above). $\endgroup$ – Fweeb Jul 8 '16 at 1:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.