I have a mesh with two shape keys (Basis and Key). I keyframed the value of Key from 0 to 1 and back to 0, and added a cyclic modifier to its f-curve, so that the mesh continuously "pulses" between Basis and Key. Then I add keyframes to Key's Range Max, to control how much the Key shape influences the mesh at different times.

When playing the animation in the 3d Viewport or rendering a still, everything behave as expected, but when rendering the animation, the keyframed Range Max is discarded. If I start rendering whilst the playhead is on a frame where Range Max = 1, it stays at 1 for the whole animation and it stays at 0 if I start rendering from a frame where Range Max = 0 (so in this case doesn't animate the shapekey at all).

I've search to see if it's a known bug and didn't find anything. Also saw that cyclic dependencies could be a problem but I don't think that's what's happening here.

Here's a simple test file to illustrate. Compare playing in Viewport, with rendering from frame 1 to 100, with rendering from frame 50 to 100.

Edit: looks like a bug so I filed a report here

  • 1
    $\begingroup$ Hello, I feel like you could achieve the same effect with just the value keyframed. Looks like you know how to use fcurves modifiers. Set the After to No Cycles in your cycle modifier and you'll achieve the same result. FYI I think your problem comes from the fact that modifying the Max Range does not automatically cause an update of the value $\endgroup$ – Gorgious Aug 27 '20 at 14:36
  • $\begingroup$ hi, thanks but the example is a simplified version. In my actual project the shapekey is on a lattice that makes a character sway to the rhythm of a song for 3 minutes (hence the cycle). At 2 different moments i need the char to stand still for 10s each time. It looks perfect when played in the viewport, with the max range updating the value just fine $\endgroup$ – wilks Aug 27 '20 at 14:52
  • $\begingroup$ @Gorgious ... and also, the problem is the same when baking the cycled curve $\endgroup$ – wilks Aug 27 '20 at 15:00

It is a bug in 2.90 (and 2.8x). It is fixed in 2.91 alpha


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.