I have a driver on an empty's y-rotation. I want to be able to keyframe a custom property to change the rotation's rate of change. So I want the empty's rotation to speed up or slow down over time depending on the animated value of my custom property.

EDIT: For example, at until frame 5, i want it to rotate at a speed of 4. at frame 10, it should rotate at a speed of 2. Between 5 and 10, the rate at which it rotates should be adjusted rather than the actual value of the rotation.


How can I tell an object to just rotate indefinitely, and then I can dictate the rate at which it spins, which can be changed over time

  • $\begingroup$ Yes, I know you can keyframe the actual value, but it does not correctly update the Rate of Change of the actual value being spit out by the driver. Since the expression is just the frame multiplied by a keyframeable value, the slope will just jump the full range of values missed by not being the second keyframe's slope if that makes sense $\endgroup$
    – Kext Next
    Jan 24, 2022 at 20:22
  • $\begingroup$ why don't you just insert a formula in that field? e.g. "frame * frame" would change the rate - or did i misunderstand what you want? $\endgroup$
    – Chris
    Jan 24, 2022 at 20:25
  • 1
    $\begingroup$ Does this answer your question? How to add driver expression result from previous frame to current frames expression (way to compound expression output?) Basically, you can't base a sandboxed driver on a previous state, so you can't animate change, you can only animate state. $\endgroup$ Jan 24, 2022 at 21:19
  • 1
    $\begingroup$ @Chris you were right. I removed my answer. $\endgroup$ Jan 24, 2022 at 21:30
  • 1
    $\begingroup$ @KextNext Simple: animate a custom property and in the formula in the Python script add the custom property to current rotation. $\endgroup$ Jan 24, 2022 at 21:34


Browse other questions tagged .