When I say I want a hard angle on my motion path, I mean it!

I’m trying to animate the camera using a motion path in Blender 2.6. I’m using the Follow Path constraint, and it’s working okay for the most part. However, when I need a hard angle (like when bringing the camera to a stop and then starting up again in another direction), Blender tries to “smooth out” the two sections of the curve, making the camera actually diverge from the path. It doesn’t happen on every control point, and playing with the curve resolution helps but it doesn’t help with every point. The result is when the camera either comes to a stop or starts up, there’s an abrupt shift as the camera gets “back on track.”

Here’s the camera path with the curve resolution at 25:


And now with the resolution at 29:


Now I know what you’re going to say, “increase the curve resolution and you’ll be fine!” Nope. Increasing it for this particular point helped, but it threw off the other points in the curve. Sometimes reducing the resolution snaps the camera to the path rather than increasing it.

Does anyone know why this is happening? Has anyone else experienced this?

You need to align the points before and after the corner so that they point directly at the corner otherwise they will cause the curve to slope.

In order to get this to work properly it looks like you may need to remove some points, but I cannot tell with you screenshots

Edit: The corner will also need to point at the points before and after, if either one of these point away from each-other the line will slope.

Wrong:
http://s19.postimage.org/5a5p83mcz/Capture.png

Wrong:
http://s19.postimage.org/gnwtx1m9f/Capture2.png

Right:
http://s19.postimage.org/t3tjqsflf/Capture3.png

Tip: If you set the points before and after the corner to auto then align, they will be lined up for you and still be adjustable.

Thanks. I tried this, but it didn’t help. I used vector handles, which automatically align themselves. I attached a .blend file that clearly shows the problem.

This seems like a bug. Where would I report this?

Attachments

curvetest.blend (389 KB)

The number of frames used for the path animation determine the length of each segment along the curve (path), which happen to start and stop on the first and last curve points, but not necessarily on any other points along the curve.

Your 90º corner is not on an exact frame length segment end, so it has to interpolate the jump from one segment to another.

Open your file, select the curve, open curve Properties tab and increase the Preview Resolution to 64, and watch the camera move closer to the corner. The segment jump is still the same, but fidelity to the 90º corner is much greater.

I’m not sure that’s correct. You can move an object along the curve with sub-frame accuracy, so I don’t think there’s a direct relationship between curve segments and the number of frames. Did you mean curve resolution rather than frames?

Open your file, select the curve, open curve Properties tab and increase the Preview Resolution to 64, and watch the camera move closer to the corner. The segment jump is still the same, but fidelity to the 90º corner is much greater.

This helps with the particular example I uploaded, but since the curve segments (controlled by resolution) and the points on the curve have nothing to do with one another, there’s no way to guarantee that placing a point on the curve will fall perfectly between two curve segments. That’s why playing with the curve resolution helps some points and not others. Changing the resolution may just happen to place two curve segments directly underneath a point, but other points may be thrown off in the process.

What I need to do is ensure that my control points are always between curve segments. Is there any way to do that? That would be a huge plus with path animation.