I have an object constrained to follow a path. The path is a Bezier curve with many control points. This is working fine. Except the object takes the bends in the Bezier curve at a constant speed. It should decelerate as it approaches the bend and accelerate as it moves away from the bend.

I decided to solve this by adding keyframes and tweeking the f-curve. If I add a keyframe at the frame where the object reaches the control point, I can tweek the curve at that point.

I am doing this by scrubbing the timeline. I guess when the control point is and place the keyframe at that frame. If I guess wrong by too much, the object will slow down and speed up at the wrong times.

Is there some way to exactly match the point in time when the control point is reached? If not, is there some other clever way to solve this problem?

  • 1
    $\begingroup$ if I got it right, if nothing else works you could parent an empty to the CP so that visually you can see where the CP is, to set the keyframe $\endgroup$
    – m.ardito
    Jul 23 '17 at 9:09

Not sure if it helps, but if you don't mind loosing the constraint itself (you can easily restore it if needed anyway) you could bake the action into keyframes.

That way you get an already drawn graphic of the object positions along time, and you get a better visual feedback of where the object is and when.

Keep in mind that this will not automatically give you keyframes and the exact curve control points, but the position graphics might give a rough idea of where tight turns are.

That way you can then easily accelerate and decelerate the animation by nudging frames back or forth in the graph editor.

  • $\begingroup$ I will try this. I suspect it will end up being the same amount of work, because there are a lot of sharp curves. At the least I can use the nudging. $\endgroup$ Jul 25 '17 at 17:29

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.