Curve Layout

Use a curve layout to position children along a bézier curve.

Curve layout

Editing the Curve

Curve layout in editor

The curve layout initially has 3 points positioned along the X axis. You can add more points by adding items to the "Points" property in the inspector. Each point has handles to move the position and tangent line. Drag these handles in the editor to define the shape of your curve. You can automatically generate a tangent by choosing the "Match Previous", "Corner", or "Smooth" tangent type.

To reduce visual clutter, you can lock the positions or tangents by checking the corresponding property. This will hide the associated handles in the editor.

Curve Layout Options

Curve layout options
Lock Tangents Prevents the tangent handles from appearing in the editor.
Lock Positions Prevents the position handles from appearing in the editor.
Points

Defines the positions and tangents of the points that define the curve. The tangent line is defined as an offset from the point.

Tangent Modes:

Manual: Define the tangent by entering a value or dragging the handle in the scene window.

Match Previous: Sets the tangent to match the tangent at the previous point.

Corner: Sets the tangent to zero to create a sharp corner.

Smooth: Computes a tangent that will create a smooth curve between the previous and next points.

Spacing Type

Determines how the children will be spaced along the curve.

Fixed: Define the distance between each child with the "Spacing" property.

Evenly: The first child is placed at the beginning of the curve and the last child is placed at the end of the curve. The rest of the children are placed at even distances between these points along the curve.

Evenly Connected: If the beginning of the curve is connected to the end of the curve, then the first child is placed at the beginning/end of the curve, and the rest of the children are placed at even distances along the curve.

Start At Offsets all objects along the curve.
Extend Behavior (v3.0)

Determines what should happen after the start/end of the curve.

Stop: Do not extend the curve. All objects before the beginning are placed at the start, and all objects after the end are placed at the end.

PingPong: Extend the curve by continuing in the opposite direction.

ExtendLine: Extend the curve in a straight line based on the tangent at the start/end of the curve.

Repeat: Extend the curve by repeating the curve.

RepeatMirror: Extend the curve by mirroring the curve and repeating it.

Rotation

Determines how children should be rotated.

None: Sets all child rotations to zero.

In: Each child is rotated to the right of the forward direction of the curve.

Out: Each child is rotated to the left of the forward direction of the curve.

In With Roll: Each child is rotated to the right of the forward direction of the curve and rolled so that its X axis matches the curve backward direction.

Out With Roll: Each child is rotated to the left of the forward direction of the curve and rolled so that its X axis matches the curve forward direction.

Forward: Each child is rotated to face forward along the curve.

Backward: Each child is rotated to face backward along the curve.