0

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.

or:

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

Kext Next
  • 31
  • 3
  • 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 – Kext Next Jan 24 '22 at 20:22
  • 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? – Chris Jan 24 '22 at 20:25
  • just use "prop * frame * frame" and maybe multiply with a low constant value – Chris Jan 24 '22 at 20:31
  • I have made a driver that does what I want, but it's not tied to a specific frame. If I move in the timeline, it just keeps calculating and moving forever. I would like the value it outputs to be tied to a specific frame number so that keyframing and scrubbing work correctly : https://imgur.com/a/0iQZldN – Kext Next Jan 24 '22 at 20:31
  • ok, maybe you should improve your question and write exactly that in your question: at frame 0 i want speed 5, at frame 1 speed 10 and at frame 2 speed 20. and after frame 3 constant speed 50 or whatever. Else we will have endless discussion here. That's why writing a good question is important and useful. – Chris Jan 24 '22 at 20:32
  • I don't understand your question. I edited my original question. Like if possible, 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 – Kext Next Jan 24 '22 at 20:38
  • ok, that's your first clear statement, got it. – Chris Jan 24 '22 at 20:39
  • i don't think that this is possible with a simple driver, because you need to know the angle of the frame before. So i think you can only solve this with a python function (which then could be used in the driver) or e.g. animation nodes – Chris Jan 24 '22 at 20:51
  • 1
    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. – Markus von Broady Jan 24 '22 at 21:19
  • YES @MarkusvonBroady that would exactly solve my problem!! The only question is, how can I get an animatable value into that script? – Kext Next Jan 24 '22 at 21:28
  • 1
    @Chris you were right. I removed my answer. – Marty Fouts Jan 24 '22 at 21:30
  • 1
    @KextNext Simple: animate a custom property and in the formula in the Python script add the custom property to current rotation. – Markus von Broady Jan 24 '22 at 21:34
  • @MarkusvonBroady Thank you so much!!! It works perfectly now. – Kext Next Jan 24 '22 at 21:52

0 Answers0