Overview
Coordinate Transformer takes an input point and transforms it according to the cumulative transformations of a reference node. If the reference node is translated/rotated/scaled, the output point is too, proportionally.
Typical use case: a sticker that is the child of a moving character. The sticker has to follow the same transformations (position, rotation, scale) as the character. Without Coordinate Transformer, you would have to duplicate the animation. With it, it is automatic = virtual parenting.
Where to find this modifier
- Right-click a 2D parameter →
Modify With→Coordinate Transform(the exact name can vary by version). - Creates a Coordinate Transformer node linked to the target parameter.
Coordinate spaces
- Canvas Space (Frame)
- Coordinates in the final frame. 0,0 = bottom left edge, 1,1 = top right edge. The space of the final image.
- Layer Space
- Coordinates of a layer (Transform, Merge) before transformations. Lets you define a point relative to the untransformed image.
- Normalized
- Resolution-independent 0-1 coordinates. For parameters that survive a resize.
The modifier converts between these spaces based on the From / To parameters and the reference node.
Setup
Sticker as the child of a transformed character:
CharacterLayer (animated Transform) ────┐
│
Sticker.Center → Coordinate Transformer (reference = CharacterLayer,
From = Layer, To = Canvas)
= the sticker automatically follows the pos/rot/scale of
the character
Position relative to a Merge:
Merge1 (transformed foreground) ───────┐
│
ChildElement.Center → Coordinate Transformer
= position in the foreground's frame of reference
Multi-level parenting:
GrandParent → Parent → Child
Coordinate Transformers chained for a hierarchy
of cumulative transformationsControls tab
- Reference Node
- Node whose transformations are applied to the point. Drag & drop or pick it from the graph.
- From Space (default: Canvas)
- Coordinate space of the input point. Canvas, Layer, Normalized, etc.
- To Space (default: Canvas)
- Output coordinate space. Lets you convert between spaces or simply apply the reference transform.
- Input Point
- Source 2D position to transform. Can be linked to another parameter with an expression.
Use cases
- Virtual sticker parenting - a sticker that is the child of an animated character: it follows position, rotation and scale automatically.
- Motion graphics hierarchy - GrandParent → Parent → Child with chained Coordinate Transformers = an After Effects-style transformation hierarchy.
- Position relative to a layer - an element defined relative to the corner of another layer (a title in a sticker, etc.).
- Conversion between resolutions - normalized → canvas positions for resizable templates.
- Tracked UI / overlays - UI elements positioned relative to tracked subjects (can be combined with the Track modifier).
- Flexible templates - a template comp where several elements are linked to a Master Transform = change a single transform and everything moves together.
Tips
- Reference Node = parent - think parent / child: the Reference Node is the parent, the target parameter is the child that follows.
- Combine it with the Track modifier - Track modifier to follow a subject, Coordinate Transformer to apply an extra transform.
- From / To Spaces are key - check that From matches the space of the source point, and To the space of the target parameter. A mismatch = wrong positions.
- Chain them for a hierarchy - two chained Coordinate Transformers for 3 levels: parent / intermediate / child.
- Neutral performance - purely mathematical, negligible.
- Reference Node updates automatically - if the Reference Node changes (animation, transform), the child follows automatically. A non-destructive workflow.
- For massive parenting (many parented elements), consider a Group / Sub-Composition that puts all the children directly in the parent's chain.
