GeoTracker for Blender Guide

KeenTools
KeenTools
9 min readAug 8, 2023

--

Geometry-based object and camera tracking add-on for your favourite 3D creation suite. Easily track objects in your videos and bring them to life in 3D space, all within Blender.

Installation

Download KeenTools Blender Pack (GeoTracker + FaceBuilder). If you’re on Mac, double-click on the downloaded DMG and find the needed zip file inside. Open Blender, go to Edit > Preferences > Add-ons. Press Install... and select the downloaded zip file.

KeenTools Blender Pack zip file installation

Use search to find KeenTools FaceBuilder & GeoTracker in the list of add-ons (Interface category) and activate it by ticking the checkbox next to it.

Next, install Core Library. You can do it either online or offline.

If your machine is connected to the internet, simply click the Install online button. Core library will be downloaded and installed automatically.

For offline installation, download the core library manually from our website. After download, press Install from disk and navigate to the downloaded file. Please keep in mind that the add-on and the core library versions should match.

If you already have our FaceBuilder add-on installed, you can use the built-in updater that will automatically update KeenTools to the version that includes GeoTracker. If you prefer to do it offline, you’ll need to remove FaceBuilder, reload Blender and then download and install the current version of the add-on.

Inputs Setup: Clip, Geometry, Camera

Start by pressing N to view the sidebar and then click on the GeoTracker tab to open the main panel. Press Create new GeoTracker to create new GeoTracker. This will open the menu with Inputs on top. The fields marked in red are empty fields that must be filled to proceed to tracking.

Click on the folder icon next to the Clip field and load your footage. This can be either an image sequence or a movie file.

Select Geometry that you will use to track the target object in your clip. By default, GeoTracker picks the cube from the Blender startup scene. You can use any model from your scene, including imported 3D models (File > Import). Click on the field next to Geometry to select it from the dropdown list, or use the object picker (Shortcut: E) to select it right in the viewport.

Loading and choosing a geometry

Similar to Geometry, GeoTracker picks up the default Camera from your Blender scene. If you accidentally delete it, you can create a new camera by clicking Add > Camera in the upper left of the viewport. You can always pick the right camera from the dropdown list or use the picker (Shortcut: E).

Before moving on to tracking, it’s important to press Analyse and hit OK. GeoTracker will analyse the clip and save the analysis data as a .precalc file on your disk. By default, it will be saved in your temporary folder on MAC or disk C on Windows. But, of course, you can choose a different location. This will make tracking much faster, though you can skip it by deselecting Use analysis cache file.

Pinning

Next step is overlaying Geometry on top of the target object in the clip. Press Start pinmod in the Tracking tab. Click anywhere on the mesh to create the first pin. Drag it to align the model with the object you’re going to track. Create more pins and adjust their positions to ensure a precise fit. Right-click on the pins you want to remove. Note that pins are only used for adjusting the model’s position. Their number and exact positions will not affect your tracking.

Pinning the model

Wireframe colour and opacity are adjustable, and so are the size and sensitivity of the pins. You will find basic settings in the Appearance tab. More settings in Preferences > Add-ons.

Camera setup

The key to good tracking results is correct camera settings. If you know the focal length and film size of the camera on the set, just type them in in the dedicated Camera tab. In case you don’t or unsure about your camera data, you can tick Estimate focal length checkbox to get that value calculated for you. Note that automatic focal length estimation works only for the current frame while you’re pinning the model, and you need to have at least 4 pins set on the wireframe to activate it.

Tracking

Select tracking mode depending on your needs using these buttons in the Tracking tab:

Geometry — to follow the motion of an object

Camera — to track the camera position in a physical space (e.g. when tracking static objects).

Click on the Track Forward button. You’ll see GeoTracker estimating the position of the target object in the consequent frames. Whenever you see the mesh is off, pause tracking and adjust its position manually using the existing pins or creating new ones if necessary. GeoTracker will store the adjusted position and rotation by creating new keyframes. Note that the manual keyframes created this way do not affect the tracking data stored in the other keyframes. Press Refine to update the tracking data after each adjustment. Keep on refining your tracking until the motion of your 3D model is smooth and accurate.

Starting geometry tracking, adjusting the mesh position, finalising tracking
Camera tracking example

Improve tracking accuracy with the Lock View option

Sometimes it’s hard to assess the tracking quality especially when dealing with dynamic shots. Use the Lock View button or keyboard shortcut L to stabilize the clip in the viewport. With no pins selected, GeoTracker will snap the view to your Geometry. But you can also lock the view to a specific point on your 3D model by selecting one or a group of pins. Learn more about this feature in our video tutorial.

Lock View results

Masks

Oftentimes various elements in the video get in the way of tracking, and that results in Geometry slipping away from the target object. Masking is a technique that lets you exclude problematic areas from tracking. GeoTracker offers not just one but three types of masks to deal with almost any occlusion you might encounter: Surface, Compositing, and Sequencemasks.

Surface mask allows you to select polygons right on the surface of your Geometry to exclude them from tracking. This can be useful when dealing with reflection or when you need to take out certain elements, like adjacent parts, of your 3D model from tracking.

To apply a Surface mask, switch to Edit Mode and select the polygons you want to mask out, then go to the Object Data tab in the Properties, create a new vertex group by clicking on +, and press the Assign button below. Return to Object Mode and select the newly created group in the Surface mask dropdown list. You can then switch to Pinmode to view the mask.

Creating a Surface mask

Another way to fight off occlusions is 2D masking, which works for most overlays like the character’s hand or other elements in the foreground crossing the path of the track. You can either draw a 2D mask right in Blender using the Compositing mask option or import a pre-made mask using the Sequence option. Note that you can’t select both Compositing and Sequence masks within one tracking session. You can only use one at a time.

In order to use Compositing mask, go to Movie Clip Editor and select your clip. Switch the Tracking mode to Mask and click on Add> Circle (or other shapes that fit your situation). You can now press Move and place your mask over the element you want GeoTracker to ignore when tracking. Learn more about editing masks in Blender on this page.

You can adjust your mask position in other frames by creating new keyframes. Note that the keyframes you create in the Movie Clip Editor are independent of those generated by GeoTracker. Once you’re happy with the mask shape and position, go back to the 3D viewport and select your mask in the Compositingmask tab. Go to Pinmode to see your mask in action.

Creating a Compositing mask

If you have a pre-made mask, you can import it using the Sequence mask option. You can then choose which of the RGBA channels you want to use for masking.

Importing and adjusting a Sequence mask

Scene Tab

You can easily manipulate your scene from the Scene tab on the GeoTracker panel. The Transform section lets you Scale and Position your scene with the two corresponding buttons. You can scale either the whole scene relative to the selected Pivot point or Geometry relevant to Camera, or Camera relevant to Geometry. And when doing the latter, you can also lock the camera visualisation scale.

You can select either Camera or Geometry as the pivot point to Position your scene in 3D space. You can set the Location and Rotation values manually or use preset positions such as World Origin and 3D Cursor.

Positioning a model

The Rig button lets you create an Empty with parented Camera and/or Geometry that you can use as a handle when building your 3D scene.

Go to the Animation section when you need to convert your Camera animation to Geometry or vice versa. Note that if both the Camera and Geometry are animated, pressing the Convert button will convert all animation to one, and then this operation will not be reversible!

Press Bake if you need to unparent Camera and/or Geometry. This will bake them, along with their animation, to World space.

Important! If your model rotates more than 360° between certain keyframes, we recommend using the Unbreak Rotation option. The algorithm behind it will go through all keyframes and make rotation continuous thus avoiding 360 degree jumps. It means that if rotation was 355° in the keyframe #24 and 10° in the keyframe #25, pressing this button will add 360° to keyframe #25, so the resulting rotation of the model will be 370°. It works backwards as well: going from 10° to 355° will make it -5°.

You have to be careful if your model rotates both forward and backwards between the nearest keyframes — then this operation will most likely make things worse.

Texturing

The Texture tab lets you grab texture from the tracked object in the video and then bake it onto the 3D model. You will first need to choose which frames you want GeoTracker to take the texture from. Go to the source frame on the timeline and press +. The snapshotted frame will then appear in the Add frames list. If you want to remove it, click -.

For best results, choose frames where the object is clearly seen from different angles to provide GeoTracker with ample data for creating texture. Avoid frames that are blurry or have something in the foreground that blocks the view of the object.

As you click Create Texture, GeoTracker projects the texture from the selected frames and bakes it onto your Geometry. Click the gear icon to access Texturing settings. Here, you can adjust the size of your texture and also set up things like Angle Strictness, allowing you to control how much the pixel color will be affected depending on the viewing angle, and Expand Texture Edges which lets you cover dark spots on the texture by expanding the edges.

Creating texture

Click Export to get your texture as a PNG, JPEG, or EXR file.

You can also save the texture from all frames as an animated sequence by clicking the Save to Sequence button.

Exporting results

To export your tracking results as an animated Empty, go to the Animation section in the Scene tab and select whether it’s the Geometry or Camera animation to be exported. Check Linked to keep your Empty synced with further changes in the tracking data.

Additionally, you can use pins as a source for animation. Drop a new pin or select existing pins and set their orientation to get one or multiple animated Empties.

Exporting an Empty

More tutorials

Check out these video guides to find out more about tips and tricks in GeoTracker for Blender.

Tracking Basics Tutorial
GeoTracker + FaceBuilder for Blender Tutorial
Basics of Camera Tracking

More tutorials are on their way!

Follow us: Facebook, Linkedin, Twitter, Instagram, YouTube, Discord, Reddit

--

--