Skip to main content

Working with the curve modifier

I've had a miserable time trying to work out the (grossly underdocumented) Curve modifier in Blender, so here's a bunch of notes that might be helpful.

The summary: you create a curve that specifies a path along which your mesh should be bent. The mesh will be deformed as needed to make that happen. The origin of the curve specifies the starting point of the newly-bent mesh, and you specify the axis from which to curve; this axis can be understood as the X in "the further along the X axis the vertex is, the further along the bending path it will be, away from the path's origin".

To some degree you're going to have to experiment to work out exactly how to use this feature; I have not yet figured out the precise rules by which it operates, but this description should at least give you a decent idea of the result you should be getting.

Problems

How do I set the origin of the curve? The 3D cursor is annoying to deal with.

You can press ctrl+. (that's the period symbol) to go into origin editing mode for an object while in Object mode. You can then move the origin like you would move any vertex.

I can't find my curve in the curve selection window for the modifier!

Maybe you created a mesh (eg. a circle) instead of a curve? The modifier really only works with curves, not with meshes that happen to be curve-shaped, and meshes will simply not show up as an option. If unsure, use a Bezier curve, but anything from the Add -> Curve submenu should work.

My object gets rotated all of a sudden when I apply the modifier!

Turns out that the points on a curve have a 'tilt'; essentially an orientation or rotation of sorts. You can use ctrl+T (in editing mode for the curve) to change this orientation, and that should orient your object correctly.

My object is too long/short after applying the modifier! It should be exactly as long as the curve itself.

By default, the Curve modifier will imagine an infinite line segment after the curve points on each end, and so any bit of the object that doesn't "fit" into the curve (by some definition I do not quite understand) will get extended beyond the curve at the last known angle it encountered.

You can turn this off by going to the Object properties for the curve (not the modifier settings!) and, under the Shape section, enabling the Stretch option. This will fit the object into the curve's length exactly, stretching and/or compressing as necessary, ensuring that it ends exactly at the ends of the curve.