PathDeform Modifier (Object Space)

The PathDeform modifier deforms an object using a spline or NURBS curve as a path. You can move and stretch the object along the path, and rotate and twist it about the path. There is also a world-space version of this modifier, PathDeform (WSM).

PathDeform shapes a snake.

Using a Path to Deform an Object

Use the object-space PathDeform modifier when you want to keep an object in place while deforming to a path. When you want to move an object to a path while keeping the path in the same world space, use the world-space PathDeform modifier instead.

To use the PathDeform modifier, click the Pick Path button immediately after applying it, and then select a shape or curve consisting of a single open or closed spline. Once the object is assigned to the path, you can adjust the parameters to deform or animate the object along a gizmo copy of the path.

Interface

Path Deform rollout

Pick Path button
Click to select a spline or NURBS curve to use as the path. The gizmo that appears is shaped like the path and is aligned with the local Z axis of the object. Once you assign the path, you can adjust the deformation of the object using the remaining controls in this rollout. The path may contain multiple curves.
Percent
Sets the percentage along the spline path that will be used as the start of object deformation.
Uniform
Bases the percent calculation on the actual spline distance rather than interpolated between knots.
Stretch
Sets how much to stretch the source object along the path.
Auto
Uses the indicated value to stretch the source object across the entire spline length.
Amount
Sets the amount to stretch.
Use Pivot Point
Uses the pivot point of the object as the deformation reference point.
Preserve Form
When enabled, makes the object follow the spline while maintaining its shape rather than conform.
By Element
When enabled, deforms each mesh element on the model independently along the path. This option can help prevent a mesh with multiple elements from becoming deformed or distorted, for example when modeling tank treads.

By Element option enabled (right)

When enabled, the averaged center of the element is used to position the element on the path. When disabled, the pivot location of the mesh is used to position the object along the path.

Path Deform Axis group

X
Sets X as the deforming axis along the spline.
Y
Sets Y as the deforming axis along the spline.
Z
Sets Z as the deforming axis along the spline.
Flip
Reverses the gizmo path 180 degrees about the specified axis.

Up Vector group

Note: The up vector should be perpendicular to the path of travel for the deformation path. If a Freehand Spline object with normals is present, the Use Spline Normal option should generally be used.
Adaptive
Automatically calculates the up vector for the spline.
Use Spline Normal
Uses the spline normal as the up vector.
Look At
Sets the up vector to point at a selected object. To do this, click the button to the right and select an object from the scene.

Rotation group

Amount
Sets the amount of rotation constant along the length.
Twist
Twists the object about the path.

Offset group

Before Rotation
When enabled, applies the offset before performing rotation operations.
X Amount
Sets the offset value along the X axis.
Y Amount
Sets the offset value along the Y axis.
Z Amount
Sets the offset value along the X axis.

Across Shapes group

Loopback
When enabled, makes the deformed object loop back to the beginning of the spline. When disabled, the deformed object continues along the direction of the first or last knot.

Material ID group

Adopt Shape matID
Makes the object adopt the material ID(s) of the underlying spline(s).
Round Down
In the case of multiple splines, takes the lowest value.
Round Up
In the case of multiple splines, takes the highest value.
Average
In the case of multiple splines, takes the average value of the highest and lowest, rounding down.

Texture Coordinates group

Apply Spline % to
Allows the overwriting of UVW coordinates based on the percentage along the path of an object's vertex. Click to select the desired coordinates to be overwritten.
Channel
Specifies the target UVW channel.

Driven Rotation and Scale rollouts

These features provide the ability to specify the rotation and scale of the deformed object along the spline's path.

The drawn curve represents the calculated value along the path of the driving spline. The 0% value will always equal 0 degrees of rotation/scale.

Driven Rotation rollout

Enable
Enables custom rotation along the spline.
Open Rotation Curve Editor
Opens the Rotation Curve editor where the curve can be edited using standard controls.
Scale
Multiplies all rotation values with the specified scale.
Current
Displays the current rotational angle for the deformed object along the spline. This field is not editable.

Driven Scale rollout

Enable
Enables custom scale along the spline.
Open Scale Curve Editor
Opens the Scale Curve editor where the curve can be edited using standard controls.
Scale
Multiplies all scale values.
Current
Displays the current scale for the deformed object along the spline. This field is not editable.

Procedures

To use the PathDeform modifier:

  1. Select an object.
  2. Apply PathDeform.
  3. On the Parameters rollout, click Pick Path.
  4. Click a spline or NURBS curve.

    Deform the object by adjusting the various controls in the Path Deform panel and by editing the shape of the path object itself.

Example:

  1. In the Top viewport, create a circle with a radius of 100 units.
  2. In the Front viewport, create a text shape with six or seven letters, and a size of 50.
  3. Apply an Extrude modifier to the text shape and set Amount to –5.0.
  4. On the main toolbar, set the Reference Coordinate System to Local.

    Looking at the axis tripod for the extruded text object, you can see that its Z axis runs from back to front, relative to world space.

  5. Apply a PathDeform object-space modifier to the text object, click the Pick Path button, and then select the circle. 3ds Max displays

    a circular gizmo. The circle runs through the local Z axis of the text object. Because of its orientation, its effect is minimal, but you can see a slight wedge-shaped deformation from the top view.

  6. In the Path Deform Axis group, choose the Y option, and then the X option.

    The circle gizmo rotates to run through the specified axes, deforming the text object differently with each change.

  7. Adjust the Percent spinner to view its effect, and then set it to 0. Try the same with Stretch.
    Tip: Use the Ctrl key with Twist to amplify the effect.
  8. In the Path Deform Axis group, enable Flip to switch the direction of the path and disable it again.
  9. In the Rotation group, adjust Amount to see the effect of rotation, and adjust the Twist and Offset controls. Reset the values by right-clicking each option's spinners.
  10. In the stack display, choose the Gizmo sub-object level, and move the gizmo path around.

    The text object is further deformed by its relative position to the gizmo.

  11. In the modifier stack, turn off sub-object selection by selecting the original circle shape.
  12. Adjust the circle's radius.

    The deformation of the text object changes because its gizmo is an instance of the shape object.