MixavisdocsHomeCommunityOpen editor
DOCS/Magical Curve

Magical Curve

Overview

Draw one curve; scatter copies down it and send layers travelling along it.

Magical Curve does two jobs from a single path. It can array copies of a layer evenly along the curve, and it can bind layers to travel along it over time. Both stay live — reshape the curve and everything follows immediately.

The path is an ordinary vector layer, so every tool that edits a path edits this too.

Try itMagical Curve
The curve is live — drag the four handles. Positions come from `samplePath` in lib/motionPath/pathSampler.js, the same arc-length sampler the editor uses to place a path-bound layer.

When to reach for it#

  • Objects following a road, wire, ribbon or flight path.
  • Text and icons arranged along a shape.
  • Crowds staggered into a wave down a line.

How it works#

The curve is sampled by arc length rather than by parameter, which is why copies stay evenly spaced even where the curve is tight. A layer bound to travel gets its position from a progress value along that same arc length, so a constant progress rate is a constant speed.

It runs at step 2 of the layer pipeline, before drivers. That ordering is deliberate — it means a path-bound layer can also oscillate or wiggle on top of its travel.

Parameters#

Modemode#

Array scatters copies along the curve. Travel binds a layer to move along it. Both can run from the same path.

Countcount#

How many copies in array mode.

Progressprogress#

Position along the curve in travel mode, 0 to 1. Keyframe it. Linear progress is constant speed; ease it for acceleration.

Align to pathalign#

Rotates each item to follow the curve tangent. On for arrows and vehicles, off for text that must stay upright.

Offsetoffset#

Shifts everything along the curve without changing spacing. Animate it to make an array flow.

Staggerstagger#

Time offset per copy, so an animation cascades down the line rather than firing at once.

Things that catch people out#

Path direction decides travel direction

A layer travels from the path's start to its end. If it runs backwards, reverse the path rather than inverting the progress keyframes.

Keyframed position is overridden

A path-bound layer takes its position from the curve, so X and Y keyframes on it do nothing. Animate Progress instead.

See also#

modifiersInstancer — path layout does something similar→conceptsThe layer pipeline→

Something here wrong or missing? Tell us in the community.