Blender camera tracking: how to track footage and add 3D objects
Short answer
Camera tracking, or matchmoving, recovers the motion of the real camera that filmed a shot, so a Blender camera can copy it and your 3D objects stay locked to the footage. In the Motion Tracking workspace you track static details, solve the camera with Solve Camera Motion (the manual calls a solve error below 0.3 pixels accurate), then Setup Tracking Scene builds the camera rig, a shadow catcher floor and the compositing nodes.
- Workspace: the + (Add Workspace) button, VFX > Motion Tracking.
- Footage: Clip > Open Clip (Alt+O), then Set Scene Frames and Prefetch (P).
- Markers: Ctrl+click or Detect Features; track with Ctrl+T (forward) and Shift+Ctrl+T (backward).
- Solve: Toolbar, Solve tab > Solve Camera Motion; the solve error appears in the header.
- Scene: Solve tab > Setup Tracking Scene, then Orientation: Floor, Set Origin, Set Scale.
- Shadows: Cycles, Object Properties > Visibility > Mask > Shadow Catcher.
Menu names below are checked against the Blender 5.2 manual and source code.
What camera tracking does
To make a CG object look like it sits in filmed footage, the virtual camera has to move exactly like the real one. Camera tracking, also called matchmoving, works that motion out from the images alone. The Blender manual splits the job into three separate steps: 2D tracking of features across frames, the camera intrinsics (focal length and lens distortion, entered, estimated or calibrated), and the solve, which reconstructs the camera motion and the 3D position of every tracked point. A Camera Solver constraint then makes a Blender camera imitate the real-world camera.
To grade the result, Blender projects the reconstructed points back onto the footage and measures the average distance to the original markers: that is the reprojection error, shown in pixels as the solve error. The solver needs parallax, the way nearby objects slide past distant ones when the camera moves.
Motion tracking, camera tracking and virtual production
Motion tracking is the name of Blender's toolset; per the manual it tracks objects and/or a camera and feeds the data to 3D objects through constraints. Camera tracking is its most common use. In virtual production, the term means live tracking: Epic's in-camera VFX documentation describes a tracking system that relays the position and movement of the physical camera to Unreal Engine during the shoot, using optical tracking with infrared cameras and markers, feature tracking or inertial sensors, often combined, so the LED wall shows the virtual set from the correct perspective. Blender's tracker works after the shoot, on recorded footage.
Before you start: footage that tracks well
- Camera movement. The regular solver needs noticeable parallax between its two keyframes. For a camera that only rotates in place, on a tripod head, the Tripod option solves rotation only.
- Static, contrasty details that stay in frame for a long time. The manual lists trees and people among the areas to keep markers out of.
- Enough tracks. At least eight tracks shared by the two keyframes. The Dope Sheet view of the Movie Clip Editor turns frames red when fewer than eight tracks cover them, and yellow from eight to sixteen.
- The focal length and sensor width from the camera's spec sheet. Accurate camera motion needs the exact focal length.
Step 1: load the footage in the Motion Tracking workspace
- Click the + (Add Workspace) button next to the workspace tabs and pick VFX > Motion Tracking. The tracking tools live in the Movie Clip Editor.
- Open a video file or image sequence with Clip > Open Clip (Alt+O).
- Click Set Scene Frames (Toolbar, Track tab, Clip panel) so the scene end frame matches the clip length.
- Click Prefetch (P) to load as many frames as fit into the cache before tracking.
The Toolbar (T) has two tabs, Track and Solve. The Sidebar (N) holds the camera data and the active track in its Track tab. Three pie menus cover the workflow: E for tracking, Shift+S for solving and Shift+W for reconstruction.
Step 2: enter the focal length and sensor size
In the Sidebar, Track tab, open the Camera panel. When you open a clip, Blender assumes a 24 mm lens on a 35 mm wide sensor, so replace those numbers with your camera's.
- Sensor Width, in millimeters. The presets in the panel header include Fullframe (36 mm), APS-C (23.6 mm), MFT (17.3 mm) and Arri, Blackmagic and RED cameras.
- Focal Length (Lens subpanel), in millimeters or pixels depending on Units.
- Optical Center, which usually sits at the center of the frame. Presets do not set it, nor the distortion coefficients.
If you only know the focal length roughly, the solver can refine it (Refine, step 6), as long as the starting value is close. For the 3D side of focal length and sensor fit, see the guide to the camera in Blender.
Step 3: place the markers
Each marker has a pattern area, the detail to recognize, and a larger search area where Blender looks for it in the next frame: 21 and 71 pixels by default.
- By hand: Ctrl+click places a marker where you click; keep the button down to adjust it while watching the preview.
- Automatically: Detect Features (Track tab, Marker panel) drops markers on the features it finds in the current frame. Placement restricts it to inside or outside an area drawn with the Annotation tool, Margin (16 pixels) keeps it away from the edges, a Threshold above 0.5 yields fewer but sturdier features, and Distance (120 pixels) keeps markers apart, since crowded markers can confuse the solver.
Detect Features looks at one frame only, so it can pick features on moving objects. The manual suggests picking points in the middle of the shot and tracking backward and forward from there, so they stay in view longer.
The Tracking Settings panel sets the defaults for new markers and offers four presets: Default, Blurry Footage, Fast Motion and Planar. Motion Model sets which deformations a pattern may go through, from Location (the default) to Perspective for planar features. With Match set to Keyframe, markers do not slide off but struggle with strong deformation; Previous Frame copes with large changes but can drift. Correlation (0.75, Tracking Settings Extra subpanel): lower it if tracking stops too early, raise it if the marker slips.
Step 4: track the markers
Select the markers (A), then press Ctrl+T to track forward to the end, Shift+Ctrl+T to track backward, or Alt+→ and Alt+← to go one frame at a time. When sequence tracking loses a marker, Blender disables it and carries on with the others. The preview in the Sidebar's Track panel shows the pattern and lets you drag a marker back into place. If a feature leaves the frame and comes back, place the marker by hand and run Track > Refine.
Step 5: weed out bad tracks
- Filter Tracks (Solve tab, Clean Up panel) deletes tracks shorter than ten frames, then selects those whose per-frame motion strays more than 5 pixels from the average. Review the selection, then delete it with X.
- The Graph view (View selector in the header) plots marker speed: a curve that spikes away from the others usually means a tracking error.
- After a first solve, Clean Tracks targets tracks shorter than Frames or with a reprojection error above Error, and Type picks the action: Select, Delete Track or Delete Segments.
For a useful track that only fails now and then, animate its Weight in the Sidebar instead: per the manual, lowering it greatly reduces jumps as features disappear.
Step 6: keyframes and Solve Camera Motion
Open the Solve tab of the Toolbar, Solve panel:
- Keyframe A and Keyframe B (1 and 30 by default) set the range used to initialize the reconstruction. They need at least eight tracks in common and noticeable parallax. The Keyframe checkbox lets Blender search for the pair with the lowest reconstruction error.
- Tripod: only for a camera that rotates without moving; 5 to 10 tracks per frame is typical.
- Refine: Focal Length if you only know it roughly, Radial Distortion if the lens bends the image.
- Click Solve Camera Motion.
The average error shows up in the Movie Clip Editor header, as in "Solve error: 0.25 px", and Blender copies the tracked focal length to the scene camera.
| Solve error | What the manual says |
|---|---|
| Below 0.3 px | Accurate reprojection |
| 0.3 to 3 px | A good solve that can still be used |
| Above 3 px | Some tracks need more accurate tracking, or the focal length or distortion is wrong |
When the error is too high, switch to the Dope Sheet view: by default it sorts tracks by Average Error with the worst on top. Fix or delete them, double-check the focal length, and solve again. In the Graph view, the blue per-frame error curve should stay as flat and close to zero as possible; its peaks show where tracking is off.
Step 7: lens distortion
Per the manual, all cameras record distorted video, while a render has no distortion at all. The Lens subpanel offers four models under Lens Distortion: Polynomial (K1 to K3), Division (for heavy distortion such as fisheye lenses), Nuke (the model used by the Nuke compositor) and Brown (radial K1 to K4 plus tangential P1 and P2). Positive K values give barrel distortion, negative ones pincushion.
To dial it in by eye, turn on Overlays > Guides > Distortion Grid, or draw an Annotation stroke along a line that should be straight and adjust the coefficients until the stroke follows the footage; Clip Display > Render Undistorted shows the corrected clip. For more accuracy, the manual points to OpenCV's grid calibration tool, which uses the same distortion model.
Step 8: Setup Tracking Scene
After a successful solve, Solve tab > Scene Setup > Setup Tracking Scene becomes available (it is grayed out before). According to the Blender 5.2 source, it:
- clears the scene camera's constraints and adds a Camera Solver constraint, with the focal length, sensor width and optical center offset from the tracking data;
- shows the clip as the camera background and turns on render motion blur;
- creates Foreground and Background view layers and foreground and background collections, set to Holdout and Indirect Only so objects and shadows render separately;
- adds an 8 by 8 unit Ground plane set as a shadow catcher, plus a test cube and a light if the scene has none;
- builds a "Tracking Setup" compositor node tree: the clip runs through a Movie Distortion node set to Undistort, then two Alpha Over nodes layer the shadows and the objects on top. An existing tree is kept with a fake user.
The manual calls it a convenience feature: more complex VFX work may need a custom compositor setup.
Step 9: orient the scene (Floor, Set Origin, Set Scale)
The Orientation panel (Solve tab) lines up the filmed scene with Blender's axes by transforming the camera. Select markers in the Movie Clip Editor before each click:
- Floor: three markers on the ground, which end up at Z = 0. Wall does the same for a wall.
- Set Origin: the selected marker becomes the scene origin, through translation only. Pick one on the ground so the floor stays at Z = 0.
- Set X Axis or Set Y Axis: one marker sets the axis direction; the origin does not move.
- Set Scale: two markers whose real distance you know, typed into Distance (1 scene unit by default).
Then place your objects, using the Ground plane to align them with the filmed floor, as the manual suggests, and the test cube to check that the motion matches.
Step 10: shadows, compositing and rendering
The plane standing in for the ground needs Object Properties > Visibility > Mask > Shadow Catcher: it renders only the shadows and reflections it receives, as an object that already exists in the footage. This is Cycles only; in EEVEE the Mask section only offers Holdout.
Enable Render Properties > Film > Transparent, which renders the background transparent for compositing over other images. Setup Tracking Scene leaves it off, and an opaque render would hide the footage in the Alpha Over node. By default the shadow catcher only affects the alpha of the Combined pass; to keep colored indirect light, the Blender 3.0 release notes recommend multiplying the footage by the Shadow Catcher pass (View Layer Properties > Passes > Light, under Other) and laying the Combined pass over it with Alpha Over.
For distortion, the manual recommends distorting the render (Movie Distortion set to Distort) when the footage bulges outward, and undistorting the clip when it bulges inward, because the wrong choice leaves missing pixels at the edges. Light the CG to match the plate, with an HDRI in Blender or the lamps covered in the guide to lighting in Blender. Make sure Output Properties > Post Processing > Compositing is on, then use Render > Render Animation; how to render an animation in Blender covers video versus image sequence output. The shadow catcher ties you to Cycles, and every frame of the clip has to be rendered: see how to render faster in Cycles.
What changed since the Blender 2.8 tutorials
Per the 4.5 to 5.2 release notes, tracking itself only got small updates; compositing changed in 5.0:
| Item | Older tutorials | Blender 5.2 |
|---|---|---|
| Compositor output | Composite node | Group Output node (Composite removed in 5.0) |
| Turning on the compositor | Use Nodes checkbox | Removed in 5.0; the compositor tree is its own data-block |
| Movie Distortion mode | A node option | A Type input (5.0 exposes most node options as inputs) |
| Setup Tracking Scene | Edits the scene's tree (still in 4.5) | Creates a "Tracking Setup" node group |
| Shadow catcher | No indirect light (before 3.0) | Rewritten in 3.0, with its own pass |
Tracking an object or a flat surface
The Objects panel (Sidebar, Track tab) takes tracking objects besides the camera: track a moving object with the same steps, then drive a 3D object with an Object Solver constraint. To replace a screen or a billboard, Create Plane Track (Solve tab) needs at least four tracks on the plane, and the Plane Track Deform node projects an image onto it. Masks that follow a subject are covered in the guide to rotoscoping in Blender.
Frequently asked questions
How do you do camera tracking in Blender?
Open the footage in the Motion Tracking workspace, click Set Scene Frames, enter the focal length and sensor width, place at least eight markers on static details and track them with Ctrl+T. Then click Solve Camera Motion, check the solve error, run Setup Tracking Scene and orient the scene with Floor, Set Origin and Set Scale.
What is the difference between camera tracking and motion tracking?
Motion tracking is the general term, and the name of the Blender toolset: it follows the motion of objects or of a camera in footage. Camera tracking, also called matchmoving, is the case where the goal is to recover the camera itself, so a virtual camera can reproduce it and 3D objects stay locked to the shot.
What is a good solve error in Blender?
The Blender manual gives a scale: below 0.3 pixels the reprojection is accurate, from 0.3 to 3 the solve is still usable, and above 3 some tracks need more accurate tracking or the focal length and distortion values are wrong. Blender shows the value in the Movie Clip Editor header after Solve Camera Motion.
Why does my 3D object cast no shadow on the footage?
You need a plane standing in for the real ground, with Object Properties > Visibility > Mask > Shadow Catcher enabled, so it renders only the shadows and reflections it receives. The option only exists in Cycles. Also enable Render Properties > Film > Transparent, otherwise the render stays opaque and hides the footage in the compositor.
What is camera tracking in virtual production?
On a virtual production stage, a tracking system sends the position and movement of the physical camera to a real-time engine while the shot is filmed, so the virtual set on the LED walls is rendered from the right perspective. Blender works the other way around: it recovers the camera from recorded footage, after the shoot.
Rendering the animation on TURNA
When a scene is already well optimised and the frame count is what takes the time, the remaining lever is rendering several frames at once. TURNA does this for Blender: an add-on (Blender 4.0 to 5.2, Cycles and Eevee) sends the scene in one click, and the frames are split across 1, 2, 4 or 8 GPUs in parallel, RTX 5090 first and RTX 4090 when none is free. The add-on shows the estimated cost before anything starts. Prices start at €4.90 per hour, billed on the time actually used, with a 2-minute minimum (30 seconds until November 9), and new accounts get €25 of free credit. A single still image is still rendered by one machine, so the gain is on animations. Tiers and worked examples are on the Blender render farm page.


