|PFTrack Documentation||Node Reference|
The Planar Camera Solver node can be used to track the camera path for simple shots containing one or more planar surfaces. The node can track both a freely moving camera or one that is only rotating around its centre as well as cameras with a varying focal length.
The node can also be used to edit the camera path manually if desired, and position the ground plane at a suitable location.
Solving for camera motion using planar surfaces is performed by first tracking one or more masks throughout the clip, by attaching a Roto node.
Either a Bezier roto (or rectangle, ellipse or lasso) or an X-Spline roto should be used for this purpose. To ensure the most accurate results, it often helps to switch off the Incremental Tracking mode in the Roto node, and use Planar Perspective tracking if possible. Care should also be taken to ensure that the mask in/out points are correct and the mask is only visible in the frames in which the planar surface can be seen.
Each mask must be placed over a planar surface and tracked over as many frames as possible (i.e. a continuous set of frames in which that planar surface is visible). Note that the actual mask vertex positions can be edited manually when tracking in order to adapt to image content, so if part of the planar surface becomes occluded or moves out of frame, tracking can be stopped and the mask vertices can be updated before tracking continues.
This is illustrated in the following two images: the first image shows the initial position of the mask covering the front of the building. The mask is then tracked over several frames until it begins to move off the left-hand edge of the screen. When that happens, the mask vertices are adjusted so the planar surface can continue to be tracked until the final frame is reached (shown in the second image).
When this planar surface is visualised in the Planar Camera Solver node, a red rectangle is drawn around the mask to represent the planar surface that has been tracked and is displayed in each frame. As shown in the images below, even though the mask vertices were adjusted whilst tracking, the planar surface is correctly represented throughout the clip.
Once one or more planar surfaces has been tracked, the next step is to provide an approximate initial camera state in the first frame of the clip, and approximately position each planar surface in 3D to provide an initial hint to the solver.
Approximate camera information can be entered in the appropriate edit boxes, and it is important to set an approximate focal length before tracking. Note that it is important to ensure the camera film back size is correct when entering a focal length in a physical unit such as millimetres.
To initialise an approximate position and orientation adjust the plane in a Viewer window.
Note that each plane should be positioned as accurately as possible, but the plane position and orientation will be adjusted when tracking or refining the camera path unless the plane has been locked by selecting the plane in the Planes list and clicking the Lock button.
The screenshot below shows three planes representing sides of a building that have been positioned in the Viewer window:
The Planar Camera Solver will adjust the camera position and rotation during tracking, along with the focal length (unless the focal length has been locked) and the position and orientation of each planar surface (unless the plane has been locked).
After tracking, the camera or planar surfaces can be adjusted manually and the camera track can be refined.
Translation: The X, Y and Z translation parameter for the camera at the current frame.
Rotation: The X, Y and Z Euler rotation angles (measured in degrees) for the camera at the current frame
Focal length: The current camera focal length. Enabling the Variable focal option will allow focal length to be adjusted independently in each frame.
Field of view: The current horizontal and vertical field of view, measured in degrees.
Sensor size: The current sensor/film back width and height.
Near/far planes: The near and far camera clipping plane.
Pixel aspect: The current pixel aspect ratio.
Rotation only: When tracking the camera, enabling this box will mean the camera translation is not changed. This is suitable nodal pan shots.
Lock focal: When this option is enabled, the camera focal length will not be adjusted when tracking the camera. This can be enabled after entering a known camera focal length in the Focal Length edit box to ensure the focal length remains constant when tracking.
Lock roll: Enabling this option will ensure that the camera roll (Z rotation) is not adjusted when tracking the camera. When the Edit mode is set to Fly, the camera roll will not be changed when the current camera frame is being edited manually.
The Planes list contains all Roto and X-Spline masks that have been activated in the node. Each plane can be assigned a different colour by double-clicking in the Colour column and selecting a colour from the popup window.
Lock/Unlock: Lock or unlock the selected plane.
Hide/Show: Hide or show the selected plane. Planes that are hidden from view will not contribute to the camera track when tracking or refining the camera path.
Translate: Display a translation widget in the Viewer windows which can be used to adjust the 3D position of the planar surface.
Rotate: Display a rotation widget in the Viewer windows which can be used to adjust the 3D orientation of the planar surface.
Auto Solve: Track the camera forwards from the first frame of the clip, using the current planar surfaces as a hint.
Refine: Refine the existing camera track and planar surface orientations.
<, >: Track the camera backwards or forwards one frame at a time.
Edit mode: The transformation mode with which to edit the camera position. Look-at displays a camera look-at point that can be adjusted in a Viewer window. Both the camera and look-at point can be adjusted by clicking and dragging with the left mouse button in a Viewer window. Holding the Ctrl key will allow both the camera and look-at point to be adjusted at the same time.
Translate, Rotate and Scale modes will display a manipulator widget. When Fly mode is set, the transformation can be adjusted in the Cinema window by holding the Alt/Option key and using the left, middle or right mouse buttons to rotate, scale and translate accordingly.
Edit type: This menu specifies whether all camera frames will be adjusted at the same time, or only the current frame. Adjusting the current frame can be useful to correct errors in the camera track or to manually animated the camera path. When adjusting all frames, the entire camera path will be transformed along with all planar surfaces in the scene. This can be used to move the ground plane to a suitable position after the camera has been tracked. This option is only available when Edit mode is set to Translate, Rotate, Fly.
Transform origin: Specify whether transformations will be applied around the current camera position or the ground-plane origin. This option is only available when Edit mode is set to Translate, Rotate, Fly.
Remove Key: Remove the current keyframe from the camera path. This will mean camera motion is now interpolated between nearby keyframes.
R-: Remove all earlier keyframes from the camera path (i.e. all keyframes with frame numbers smaller than the current frame).
R+: Remove all later keyframes from the camera path (i.e. all keyframes with frame numbers larger than the current frame).
Show ground: When enabled, the ground plane will be displayed
Show horizon: When enabled, the horizon line will be displayed
Show all planes: When enabled, all planar surfaces will be displayed in the Viewer windows instead of the planar surface for the currently selected plane only.
Show frustum: When enabled, camera frustum will be displayed in the Viewer window.
Keyboard shortcuts can be customised in the Preferences.
Edit Current Frame
Edit All Frames
Remove Earlier Keys
Remove Later Keys
Show All Planes