Planar Track
Tracks a flat surface (screen, sign, wall) through footage and outputs its four corner positions per frame — the engine behind corner-pin screen replacement.
Category: Track Menu path: Track > Planar Track
Ports
| Port | Type | Direction | Description |
|---|---|---|---|
in | imageRgba16f | input | Footage to analyze. Only read while tracking runs — never evaluated during normal playback. Any upstream chain works (video, image sequence, pre-graded footage). |
c0–c3 | vec2 | output | Tracked corner positions per frame (comp pixels, top-left origin; order TL, TR, BR, BL). Includes correction offsets. |
confidence | scalar | output | Per-frame track confidence (0–1). 1.0 before tracking. |
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
corner0–corner3 | vec2 | centered quarter-comp quad | The region to track, placed at the reference frame. Drag the viewer quad to set it. |
offset0–offset3 | vec2 | 0,0 | Keyframeable corrections added on top of the baked track. Written automatically when you nudge a tracked corner in the viewer. |
offsetMaster | vec2 | 0,0 | Correction applied to all four corners at once. |
motionModel | enum | Perspective | Perspective (full homography — screen replacement), Affine (no perspective change), Translation (position only — most robust on low detail). |
analysisScale | enum | Half | Resolution the analysis runs at. Half is right for almost everything; Full for sub-pixel-critical work; Quarter for speed on 4K. |
The baked track itself is stored in a hidden bake param — it saves with the project and never re-runs on load.
How It Works
Press Track in the Properties panel: the engine rectifies your quad into a reference template, then for each frame solves for the perspective transform that best re-aligns the footage with that template (the same direct-method approach used by planar trackers). Because every frame is matched against the reference — not the previous frame — the track doesn't accumulate drift. Lighting changes are tolerated; if the tracker loses the surface (occlusion, motion blur), it stops early and keeps the frames it got.
The result is baked: scrubbing is instant, nothing re-tracks unless you press Track again.
Workflow
- Connect footage to
in(e.g.VideoSource → PlanarTrack). - With the node selected, drag the lime quad in the viewer over the flat surface. Place corners on high-contrast detail when possible.
- Press Track ▶ (playhead → end), ◀ Track (playhead → start, region read at the playhead), or All.
- Scrub. If the quad drifts on some frame, drag a corner — that writes a keyframed correction offset without touching the track — an "adjust track" correction.
- Use Pin Setup to build the corner-pin composite (below), or wire
c0–c3anywhere vec2s go.
Tips
- The status row shows an amber dot when you've changed the region or settings since baking — retrack to refresh.
- Partial tracks are normal on occlusion. Track up to the problem, fix with offsets, or re-track the remainder from a new reference frame.
- Corrections survive Clear Track — clearing only discards the bake.
- Tracking blocks the engine (rendering pauses) — a 1000-frame track at Half scale takes roughly a minute.
Related Nodes
- CornerPin — consumes the tracked corners for screen replacement
- TrackPoints — many-point / blob tracking for design work
- OpticalFlow — dense per-pixel motion (no point identity)