From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Curve Deform

Curve Deform provides a simple but efficient method of defining a deformation on a mesh. By parenting a mesh object to a curve, you can deform the mesh up or down the curve by moving the mesh along, or orthogonal to, the dominant axis.

The Curve Deform works on a (global) dominant axis, X, Y, or Z. This means that when you move your mesh in the dominant direction, the mesh will traverse along the curve. Moving the mesh in an orthogonal direction will move the mesh object closer or further away from the curve. The default settings in Blender map the Y axis to the dominant axis. When you move the object beyond the curve endings the object will continue to deform based on the direction vector of the curve endings.

Blender3D FreeTip.gif
A Tip
Try to position your object over the curve immediately after you have added it, before adding the curve deform. This gives the best control over how the deformation works.


Interface

Make Parent menu.

When parenting a mesh to a curve (CtrlP), you will be presented with a menu (Make Parent menu).

By selecting Curve Deform, you enable the curve deform function on the mesh object.

Anim settings panel.

The dominant axis setting is set on the mesh object. By default the dominant axis in Blender is Y. This can be changed by selecting one of the Track X, Y or Z buttons in the Anim Panel, (Anim settings panel), in Object context (F7).

Curve and Surface panel.

Cyclic curves work as expected where the object deformations traverse along the path in cycles.

The CurveStretch curve option allows you to let the mesh object stretch, or squeeze, over the entire curve. This option is in Editing Context (F9), for the curve. See (Curve and Surface panel).







This is also a modifier
The Curve Deform relationship is now also a modifier, called Curve. The Curve modifier function acts the same as its counterpart, except that when the modifier is used, the “dominant axis” is set inside its properties – and the Track X/Y/Z buttons have no more effect on it.


Example

Let’s make a simple example:

Add a Monkey!
  • Remove default cube object from scene and add a Monkey (⇧ ShiftA → Add → Mesh → Monkey, Add a Monkey!)!
  • Now press ⇆ Tab to exit Edit Mode.


Add a Curve.
  • Now add a curve (⇧ ShiftA → Add → Curve → Bezier Curve, Add a Curve).


Edit Curve.
  • While in Edit mode, move the control points of the curve as shown in (Edit Curve), then exit Edit mode (⇆ Tab).


Monkey on a Curve.
  • Select the Monkey (RMB Template-RMB.png), and then shift select the curve (⇧ ShiftRMB Template-RMB.png).
  • Press CtrlP to open up the Make Parent menu.
  • Select Curve Deform (Make Parent menu).
  • The Monkey should be positioned on the curve, as in (Monkey on a Curve).
  • Now if you select the Monkey (RMB Template-RMB.png), and move it (G), in the Y-direction (the dominant axis by default), the monkey will deform nicely along the curve.
Blender3D FreeTip.gif
A Tip
If you press MMB Template-MMB.png while moving the Monkey you will constrain the movement to one axis only.


  • In (Monkey deformations), you can see the Monkey at different positions along the curve. To get a cleaner view over the deformation I have activated SubSurf with Subdiv to 2, and Set Smooth on the Monkey mesh (F9 to get Editing context).
Blender3D FreeTip.gif
A Tip
Moving the Monkey in directions other than the dominant axis will create some odd deformations. Sometimes this is what you want to achieve, so you’ll need to experiment and try it out!


Monkey deformations.