> For the complete documentation index, see [llms.txt](https://help.intangible.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.intangible.ai/build/motion-paths.md).

# Motion paths

Draw a route in the scene and an object follows it, instead of keyframing every position along the way.

Some moves are easier to draw than to keyframe. A ball bouncing between rocks needs a position at every step. Setting each one by hand is slow. Draw the route instead. The object follows it.

Motion paths shipped in release 2.0.66.

![A motion path drawn in Build mode, shown as a spline with nodes along it and one node selected with its drag gizmo](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-0bc359aebe966b13f779c2c3fe21d24d8a616a13%2Fmotion-path-nodes-01.png?alt=media)

## Draw a path

1. **Select the object.** Pick the object that should travel the route.
2. **Draw the route.** Open the motion path tool and draw a freehand spline in the viewport.
3. **Reshape it.** Click any node and drag. The curve rebuilds around the new position.
4. **Check the motion.** Scrub the timeline. The object travels the path you drew.

A path is its own object: a spline that has been marked as a motion path. Nothing binds it to the object you had selected when you drew it, so a path drawn now can be handed to a different object later, and one path can carry several objects at once.

While you are editing a path the toolbar swaps to the spline tools: **Move**, **Pen**, **Bend**, **Pencil**, and **Exit**. Pencil is the freehand one.

![The spline toolbar while a path is being edited: Exit, Move, Pen, Bend and Pencil](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-5c3c08f14c9776a37e9b8d6bca4895a0e9c7787f%2Fspline-toolbar-01.png?alt=media)

## Reading the path

The path tells you its state by colour.

* **White with nodes.** The resting state. Nodes sit along the curve.
* **Amber.** The path is selected. Its nodes stay visible while you work.

A selected node carries an axis gizmo. Drag the gizmo to move the node on one axis at a time.

![A motion path being drawn and its nodes adjusted](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-3a52dac2fbffa68224793e54b8e3d8447c72c7ff%2Fmotion-path-editing-01.gif?alt=media)

## Paths and keyframes

Keyframes and paths work together. A path handles the route. Keyframes handle progress along it, and everything else in the scene.

**Progress is keyframable.** It is a timeline track in its own right, and the row is labelled with the name of the path it follows so you can tell two paths apart on the same object.

Parenting interacts with paths. An object on a path can still be a child of another object.

## Anything can follow a path, cameras included

**You bind an object to a path by parenting it to the path.** That is the whole mechanism, and it is not camera-specific: any object that can be parented can travel a route. A camera is just the case where it reads as a camera move.

Parenting hangs the object off a per-object attachment that the path recalculates every frame from the properties below. That attachment is internal: it is not selectable and not drawn, so what you see is simply the object sitting on the curve.

| Property                        | What it does                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------- |
| **Progress**                    | How far along the path the object sits. This is the keyframable one.            |
| **Roll**                        | Rotation around the direction of travel                                         |
| **Align to path**               | Whether the object turns to face the way it is going, or holds its own rotation |
| **Anchor** / **Snap to anchor** | Which point on the object meets the curve, and a control to snap it there       |

Because the binding is parenting, one path can carry several objects at once, each with its own Progress, so two objects can travel the same route at different speeds or with a gap between them.

![A camera following a motion path around a stadium, with the Scene Timeline showing a Motion Path Progress track under Camera 1](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-359d387b8cf58a926b6d96a432e8d4f9babf092c%2Fmotion-path-camera-track-01.png?alt=media)

Selecting an object that is on a path adds a fourth entry, **Motion Path**, to the transform-space dropdown. It hides the gizmo while you work along the path, and leaving it puts you back in whichever mode you were in before. See [Transform](/build/transform.md).

### Taking an object back off a path

Because the binding is parenting, you undo it by unparenting. That is a clean break rather than a pause: the hidden attachment is destroyed, and the three path properties go with it, Progress included. The Progress track disappears from the timeline along with whatever you keyframed on it.

One thing survives. If the object had a Roll of its own before it went on the path, from an aim camera or its target, that Roll is kept. Only a Roll the path itself put there is removed.

A path cannot be parented to another path, so paths do not nest.

## Turn an animation you already have into a path

If you keyframed an object's movement the ordinary way and then wished the route were a curve you could pull on, you do not have to rebuild it. **Convert Animation to Motion Curve** takes the translation keyframes an object already has, draws a path through the positions they pass through, puts the object on that path, and writes Progress keyframes that reproduce the original timing.

The movement looks the same afterwards. What changes is that the trajectory is now a spline you can edit.

In **Compose**, select the object and choose **Convert Animation to Motion Curve** from the **…** menu on the contextual toolbar. The item only appears when:

* exactly one object is selected, and it is not locked
* that object is not already a path, and is not already riding one
* it has translation keyframes that actually move it, through at least two distinct positions

Two details worth knowing before you convert:

* **The build-state position counts as the start.** If no keyframe sits at frame 0, the object's resting position leads the curve, because playback interpolates from it.
* **Easing decides whether a span bends.** Smooth, ease-in and ease-out spans rebuild as curves. Linear and stepped spans were straight lines in the animation, and they come through as straight lines on the path.

Holds collapse. Two keyframes at the same position are one point on the curve that the object sits at for the span between them, not two nodes stacked on top of each other.

The object keeps its rotation and scale keyframes, and they keep animating. Its translation keyframes are what the curve is built from.

Added in release 2.0.73.

![The more-options menu in Compose, listing Lock, Draw Motion Path, Convert Animation to Motion Curve, Add Scene Camera Fog, Add Shot Camera Fog, Frame and Move Camera Inside, with the Scene Timeline below showing plain Transform tracks](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-413cf66622c8b42730b5e50585963f69628e0d8c%2Fconvert-animation-to-curve-01.png?alt=media)

![Choosing Convert Animation to Motion Curve and the Scene Timeline gaining a Motion Path Progress track beneath the camera](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-0474dadbbfafcbb643014120ccbe38dce5088153%2Fconvert-animation-to-curve-02.gif?alt=media)

Watch the Scene Timeline in that clip. It starts as two Transform tracks, and a **Motion Path Progress** track appears beneath the camera once the conversion runs. That track is where the timing now lives.

## Related

* [Animation](/compose/animation.md) for keyframes and the scene timeline
* [Working with objects](/build/working-with-objects.md) for selection, parenting, and transforms


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.intangible.ai/build/motion-paths.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
