Mocha AE UserGuide
Mocha AE UserGuide
Mocha AE UserGuide
6 User Guide
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Saving Layouts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Basic Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Layer Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Layer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Cache Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Tracking Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Tracking Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Importing Mattes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
AdjustTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Reference Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1
Adjusting points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
AdjustTrack Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Reference Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Working Backwards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
View Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Rotoscoping Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Open Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2
General Clip View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Managing clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Crop Mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Timeline numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Third Party Open Source and Commercial Licenses Used by Mocha . . . . . . . . . . 117
OpenColorIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
OpenSSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
libpng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
libjpeg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3
OpenEXR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
FreeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
fontconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
libtiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
uuid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
libxml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
libz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Eigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4
Introduction
Welcome to Mocha, tracking and rotoscoping tools that make your tracking and
rotoscoping work much easier.
Our tools are based on our proprietary Planar Tracking technology, an awesome
approach to 2D tracking which will help you to generate accurate corner-pins and
track and transform your roto splines in a powerful way.
Traditional tracking tools require that you locate "points" that remain consistent
throughout the entire shot in order to track movement. This is itself a difficult task,
especially when tracking a shot that was not originally designed to be tracked. If
you wish to also track rotation, perspective and shear you need even more clear
and consistent points to track.
Traditional roto methodology would have you outline a shape with the minimum
number of points necessary then either manually move the control points or track
the shape with a point tracker to "get it close". Even when using multi-point
trackers to impart rotation and scale to the roto spline, the results are often
5
unusable if there is any perspective change during the shot.
Instead, Boris FX’s Planar Tracker tracks an object’s translation, rotation and
scaling data based on the movement of a user-defined plane.
A plane is any flat surface having only two dimensions, such as a table top, a wall,
or a television screen. Planes provide much more detail to the computer about an
object’s translation, rotation and scaling than is possible with point-based tracking
tools. Even as an object leaves and enters a frame, there is usually enough
information for the Planar Tracker to maintain a solid track of the object.
When you work with the Mocha tools, you will need to look for planes in the clip.
More specifically, you will need to look for planes that coincide with movements
you want to track. If someone is waving goodbye, you can break their arm into
two planes - the upper and lower limbs. Although not all of the points on the arm
sections actually lie on the same two-dimensional surface, the apparent parallax
will be minimal.
With the addition of PowerMesh in Mocha Pro, subplanar tracking is also possible,
tracking warp and bending of objects that standard planar tracking would struggle
to do alone.
6
Interface Overview
To quickly get familiar with Mocha before you dive into the rest of the manual,
here is a breakdown of the interface and its controls.
Layouts
Mocha layouts are modifiable, allowing you to hide or reveal many parts of the
interface.
These layouts are clustered into 4 default types you can build from.
Essentials Layout
Mocha begins in the Essentials layout, which provides a simplified interface for
basic tracking and roto.
7
The basic toolbar provides a minimal set of tools without cluttering the interface.
The Essentials panel on the left side of the window combines everything you need
for a basic track.
8
The Panel contains the following features (from top to bottom):
1. Translation
2. Scale
3. Rotation
5. Perspective
Track Buttons
Link to Track
Surface
• Show surface (tracking data): Reveals the blue surface that represents the
tracking data.
• Show grid: Reveals a useful grid for lining up the surface or monitoring for drift
in a track.
• Align surface: Expands the surface to fit the dimensions of the footage on the
current frame.
Classic Layout
For Mocha veterans, the Classic layout is arranged like the original Mocha.
9
Use this mode if you are familiar with Mocha and want access to all the
parameters and tools.
Roto Layout
Like the Essentials layout, this layout is optimized specifically for roto sessions
where only the most necessary panels and tools are shown.
If you want to reduce all clutter entirely, the Big Picture layout is very useful for
previewing shots without any elements getting in the way.
• Timeline controls
• Toolbars
• View controls
• Etc.
10
These can either be access by right clicking the area of the interface and
choosing a GUI element to show or hide, or selecting from the View menu.
Any changes you make to a layout will not be saved unless you choose View |
Layout | Save Current Layout.
For example if you like the Essentials layout, but would like the Advanced toolbar
from the Classic layout:
This will now save the Essentials layout with the new toolbar.
You can add, order or remove layouts from the Manage Custom Layouts dialog in
the same sub-menu.
Any new layout will automatically be assigned a Ctrl/CMD + Number shortcut
based on the order of the layouts, up to 9.
If you have made changes to a saved layout want to revert back to the saved
version, just choose View | Layout | Revert to saved.
If you want to revert back to the original default layout, just choose View |
Layout | Revert to default.
Saving Layouts
You can add or remove many parts of the Mocha interface, such as:
• Timeline controls
• Toolbars
11
• View controls
• Etc.
These can either be access by right clicking the area of the interface and
choosing a GUI element to show or hide, or selecting from the View menu.
Any changes you make to a layout will not be saved unless you choose View |
Layout | Save Current Layout.
For example if you like the Essentials layout, but would like the Advanced toolbar
from the Classic layout:
This will now save the Essentials layout with the new toolbar.
If you have made changes to a saved layout want to revert back to the saved
version, just choose View | Layout | Revert to saved.
If you want to revert back to the original default layout, just choose View |
Layout | Revert to default.
At the very top of the interface you have the tools that form the brunt of your time
inside Mocha.
12
Select Both: Selects both the Inner spline points and
the edge points. Hold this button down to select
further options (See below)
Select Inner: Only selects the inner spline points
13
Add Rectangle Bezier-Spline to Layer: Draw a
Rectangle B-spline that is added to the current spline
layer.
Create Circle X-Spline Layer: Draw a new Rectangle
X-Spline layer
14
Basic Toolbar
In Essentials Mode, only a basic set of tools are shown, to simplify the interface.
15
Add Rectangle Bezier-Spline to Layer: Draw a
Rectangle B-spline that is added to the current spline
layer.
Create Circle X-Spline Layer: Draw a new Rectangle
X-Spline layer
See descriptions in Advanced Toolbar above for the rest of the tools.
These controls cover what can been seen or hidden while working in the Mocha
viewer.
The Viewer controls are turned off in some layouts. You can turn
them on via the View menu.
16
Proxy Scale: Adjust the resolution of the footage for
performance (Mocha Standalone only)
17
Stabilize: Turns on Quick Stabilize Preview. This
centers the footage around your tracked surface
using the tracking data linked to pan and zoom. You
can choose different layers to stabilize the viewer
from the dropdown in the button.
The timeline controls cover frame range, playback, tracking controls and key-
framing.
18
Reset In-Point: Set the in-point back to
the start of the clip
19
Add New Keyframe: Add a new
keyframe at the current position for the
selected layer. This only appears if you
are not hovering over an existing
keyframe.
Delete New Keyframe: Deletes the
keyframe at the current position for the
selected layer. This only appears if you
are hovering over a keyframe.
Delete All Keyframes: Deletes all
keyframes on the timeline for the
selected layer
Autokey: Toggles automatic key
insertion when moving points or
adjusting parameters
Überkey: Toggles the Überkey, which
modifies all keys in the layer relative to
the key you are now on.
Layer Controls
20
The top left hand panel contains the tools to manage layers.
Layer Icons:
21
Layer Actions dropdown:
22
Delete Layer: Delete currently selected
layers on all frames
Layer Properties
The section under the Layer Controls panel contains the properties for each layer.
• Layer In/Out frames: Settings to change where the layer turns on and off in the
clip
• Blend mode: Dropdown to add or subtract your spline to the current layer.
Invert flips this
• Insert Clip: Insert a demo clip to preview your track. You can use one of the
default clips to test the tracked insert. For preview purposes only.
• Link to Track: Which layer’s track to link your layer splines to. Can also be set
to None.
• Link to adjusted track: Optional checkbox to link the layer splines to the
adjusted track of the selection in "Link to Track"
Cache Management
In Mocha v5 we introduced manual cache clearing to allow you to clear the Mocha
cache at the project, render or global level.
You can access the Clear Cache option from the file menu under File → Clear
Cache…
23
You can check the following options:
• Project Cache: Clear the cache for the currently loaded project
• Rendered Clips: Clear just the rendered clips for the project
Only clear the Global Cache if you are certain you don’t want any of your existing
project caches to remain.
24
Using the Mocha AE Plugin
The Mocha AE plugin can be applied as an effect directly onto layers in After
Effects.
This reduces the need to swap out of your application and streamlines getting
data in and out of Mocha.
The biggest advantage is you can set up layers and module settings in Mocha as
normal, and then have the results render directly to the host timeline without
having to export.
Alternatively, you can choose Track in Boris FX Mocha from the After Effects
Animation menu.
Simply select the layer you want to work with and apply the effect to the layer.
25
The general workflow for the Mocha Adobe Plugin is as follows:
2. Select the Mocha effect from Effects | Mocha | Mocha AE or optionally choose
"Track in Boris FX Mocha" from the Animation menu.
3. Launch Mocha. This will load a full version of the Mocha interface that you can
use just like the standalone version.
4. Use Mocha as required and then close and save. No rendering is required
inside Mocha.
5. Choose whether you want to use mattes or tracking data from Mocha back in
the plugin interface.
Once you have applied the Mocha AE effect, you can click on the Mocha button to
launch the main interface.
26
This then becomes exactly like working in the standalone version of Mocha, with a
few exceptions.
First, you will notice you don’t need to set up a project like in the standalone
version. The source layer is automatically loaded and ready to track in the view.
Secondly you don’t need to save out a project file (unless you want to export it).
You just close and save the Mocha view when done and the project is saved
inside the Effect like any other Adobe effect.
For further details on how to track and roto inside the Mocha GUI, see the rest of
the User Guide:
Controlling Mattes
Once you have tracked layers in Mocha, you can then control the mattes for these
layers back in the plugin interface.
• View Matte: Show the black and white matte from the Mocha layers chosen.
This is very useful if you want to just see any problems with the matte, or you
want to use the output as a track matte.
• Visible Layers: This button launches the Visible Layers dialog so you can select
27
the layers you want visible as mattes.
• Shape: This drop down lets you switch between All Visible and All mattes. All
Visible mattes are controlled by the Visible Layers dialog.
• Create AE Mask: Creates native AE splines on the effect layer just like "Paste
Mocha mask". This function is only available in After Effects.
If you have a tracked layer in Mocha you can see the output of its surface back in
the After Effects interface.
Each point in the Tracking Data section is a point from the layer surface that
automatically updates when you modify it inside Mocha.
To choose a layer to create tracking data from, click the 'Create Track Data'
button in the Tracking Data section of the plugin.
Then choose the layer you want to read tracking data from in the dialog that
appears. You can only choose one layer at a time.
28
Once you click OK, the plugin will generate keyframes to populate the tracking
parameters in the plugin. You can then use this data to copy to other layers, or link
via expressions.
Generating keyframe data can take some time for very long shots.
You can cancel generation at any time when the progress bar
appears.
The plugin interface also allows you to apply tracking data to other layers without
needing to export from the Mocha GUI.
Do do this, you generate the tracking data from a layer, as described above in
Controlling Tracking Data.
You can then choose an export option at the bottom of the Tracking Data section:
• Corner Pin (Support Motion Blur): A corner pin distortion with separate scale,
rotation and position.
Clicking 'Apply Export' then copies the information to the specified layer.
29
Tracking Basics
Some tools, parameters and techniques listed below may not be
visible in Essentials mode. To see additional interface elements,
switch to Classic mode. See the Layouts section for more
information.
The key to getting the most out of the Planar Tracker is to learn to find planes of
movement in your shot which coincide with the object that you want to track or
roto. Sometimes it will be obvious - other times you may have to break your object
into different planes of movement. For instance if you were tracking a tabletop,
you would want to draw the spline to avoid the flower arrangement in the center
of the table — it is not on the same plane and will make your track less accurate.
To select a plane you simply draw a spline around it. You can be fairly loose with
your spline — the Planar Tracker is intelligent enough to discard the pixel
movement that doesn’t conform to the movement of the majority of the pixels
within the shape.
X-Spline
In general X-Splines work better for tracking, especially with perspective motion.
We recommend using these splines where possible.
30
Bézier Spline
Bézier Splines are also very versatile for roto and is the industry spline standard.
You can choose between a GPU or a CPU tracker in Preferences. By default, GPU
is selected, but will fall back to CPU if an operation is not supported by the GPU
version.
The GPU option allows you to select any supported graphics card on your system
to take on the brunt of the tracking process. The resulting speed improvement is
especially noticeable on high resolution footage or when tracking large areas.
31
It’s best to think of the splines you draw around objects as search areas. Here’s a
breakdown of how the tracking works:
1. By default, any spline you draw is linked to the tracking data of the layer it is
currently in. In hierarchical terms, the spline is the child of the track, even if
there is no tracking data.
2. When you begin to track a layer, the area of detail contained within the
spline(s) you have drawn will be searched for in the next frame.
3. If the planar tracker finds the same area in a following frame, it will tell the
tracker to move to that point. Because the spline is linked to the track by
default, it will also move along with it and the search begins again for the next
frame.
To see this relationship, turn on your surface and/or grid in the viewer after you
have tracked something. Scrub the timeline and you will see that the grid and
surface move with the spline.
Now select all the points of your spline and move it around the viewer. You will
notice that the surface/grid will stay in the same place.
This is because the spline is linked to the track, but the track is not linked to the
spline. The spline is merely a search area to tell the track where to go next. It is a
common misconception that moving the spline while tracking is affecting the
movement of the tracking data. It is not. Moving the spline is only telling the
tracker to look in a different place and will not directly affect the motion of the
tracking.
This makes the tracker very powerful, as you can move and manipulate your
spline area around while tracking to avoid problem areas or add more detail for
the search.
You can even unlink the spline from the track entirely so that any planar surface
passing under the stationary spline area is tracked and you don’t have to move
the spline if tracking starts to go off screen.
32
with the screen below.
1. Select one of the spline tools to create a shape around the outside edge of the
area you wish to track.
3. After the third point, the shape will auto-close, but you can continue to add
points.
4. When drawing splines it is best to keep the shape not tight on the edge, but
actually give a little space to allow for the high contrast edges to show
through, as these provide good tracking data.
6. If you are using the X-Spline tool you can adjust the handles at each point by
pulling them out to create a straight cornered edge, or pull them in to make
33
them more curved. Right clicking a handle will adjust all the handles in the
spline at once.
For instance, in the phone example we are using, there are frames where there
are strong reflections on the screen. These reflections can make the track jump.
So we need to isolate that area so the tracker ignores it. Here’s how this is done:
2. Select the add shape tool to add an additional shape to the current layer,
which selects the area you want the tracker to ignore.
3. Draw this second shape inside the original shape. Note that both splines have
the same color, which is an indication that they belong to the same layer. Also
you will notice in the Layer Controls panel that you only have a single layer.
34
4. By turning on the Mattes button under View Controls you can see the area that
will be tracked.
35
You can also add as many entirely new layers on top of your tracking layer to
mask out the layers below.
The tracking layer uses the matte data of the combined layers you
have drawn. This matte is the outer edge of the tracking layer
matte minus the inner edge of the layers in front, regardless of
feathering.
This is quite common when moving people, limbs, cars, badgers etc. get in front of
the object you are trying to track.
Tracking Parameters
In the Essentials layout, tracking Motion parameters are listed in the Essentials
Panel:
36
In the Classic layout, detailed tracking parameters can be accessed by selecting
the Track tab. On the left hand side of the Track tab, you will see two sections:
Motion and Search Area.
Input Clip
This is the clip you are going to track. By default it is the one currently in the
viewer.
37
Preprocessing [Mocha Pro Only]
This button opens the Preprocessing panel, which has controls for applying non-
destructive clip processing for better tracking results:
• Blur: Blurs the source clip. Useful when there is heavy interference like snow,
heavy rain, etc.
• Sharpen: Sharpens the source clip. Useful when there is low detail in the
image.
• Contrast: Contrasts the source clip. Good for low-detail (or low contrast)
images
• Gamma: Increases the gamma in the image. Note this differs from the gamma
view control which does’t affect the clip.
• Denoise: Reduces noise in the image. Especially useful for very noisy images.
• Remove Flicker: Balances flickering footage. This requires using the Reference
Frame button
• Set Reference Frame: Used with Remove Flicker above. This defines the
Reference frame to take the luminance levels to adjust to.
• Apply to All: Applies the same preprocessing to all layers. If this is off, the
preprocessing only happens to the current layer.
38
We recommend trying to track the shot before attempting
preprocessing. The planar tracker is very robust and will often track
through many problem areas.
Input Channel
When tracking, Mocha looks at contrast for detail. The input channel determines
where to look for that contrast.
• Luminance looks for contrast in the light and dark of the image
• Red, Green and Blue channels look only in that one color channel for the detail.
By default, Luminance does a good job. If you have low-luminance footage or you
are not getting a good track, try one of the color channels or Auto Channel.
By default, the minimum percentage of pixels used is dynamic. When you draw a
shape, Mocha tries to determine the optimal amount of pixels to look for in order
to speed up tracking. If you draw a very large shape, the percentage will be low. If
you draw a small shape, the percentage will be high.
Smoothing Level
This value blurs the input clip before it is tracked. This can be useful when there is
a lot of severe noise in the clip. It is left at zero by default.
Motion
These parameters control what motion you are looking for when you track:
39
• Translation: The position of the object
• Mesh (Mocha Pro Only): Movement within the overall plane, such as distortion,
warp etc.
The main difference between shear and perspective is the relative motion. Shear
is defined as the object warping in only two corners, whereas perspective is most
often needed where the object is rotating away from the viewer significantly in
space.
The front of a truck turning a corner in front of you would be showing significant
perspective change.
• Large Motion: This is the default. It searches for motion and optimizes the track
as it goes. Small Motion is also applied when you choose Large Motion.
• Small Motion: This only optimizes. You would use Small Motion if there were
very subtle changes in the movement of the object you are tracking.
• Manual Tracking: This is only necessary to use when the object you are
tracking is completely obscured or becomes untrackable. Usually used when
you need to make some adjustments to complete the rest of the automated
tracking successfully.
• Existing Planar Data (Mocha Pro Only): This is only used when you want to add
Mesh tracking to an existing planar track.
Search Area
• Horizontal/Vertical: The distance of pixels in the footage to search for the next
object position. This is set to Auto by default.
40
• Angle: If you have a fast rotating object, like a wheel, you can set an angle of
rotation to help the tracker to lock onto the detail correctly. The tracker will
handle a small amount of rotation, less than 10º per frame, with Angle set to
zero.
• Zoom: If you have a fast zoom, you can add a percentage value here to help
the tracker. Again, the tracker will still handle a small amount of zoom with this
set to zero.
Track the plane selected by pressing the Track Forwards button on the right-
hand side of the transport controls section.
Stop the track and adjust the shape if it doesn’t seem to be tracking properly. You
may keyframe the spline shape so that it tracks only the planar region of a shape
by adjusting the shape and hitting Add Key in the keyframe controls menu. Keep
in mind that no initial keyframe is set until you first hit Add Key or move a point
with Auto-Key turned on.
Another trick you can do to check your track is hit the Stabilize button in the View
Controls.
41
Turning on Stabilize will lock the tracked item in place, moving the image to
compensate. In the track module, stabilize view is a preview mode to check your
track. Actual stabilization output is handled by the Stabilize Module, explained in
the Stabilize Overview chapter.
The Surface
You can check the accuracy of your planar track by turning on the Surface (the
dark blue rectangle) and Grid overlay in the Essentials panel or the toolbar:
• Drag the inner corners of the Surface to match the perspective of your tracked
plane.
• Drag the edges of the Surface to adjust them along the matched perspective
• Drag the points in the middle of the edges to scale horizontally or vertically
If you play the clip, you should see the surface or grid line up perfectly with the
plane you tracked.
The Surface and Grid have no keyframes; they are simply guides
that let you check the accuracy of your track. Note that the
position of the Surface WILL affect the exported tracking data, so
you MUST position the corners of the Surface before exporting
tracking data.
When you turn on the surface you will see the blue box that represents the 4
points of the corner-pin. Right now you will see that it is not lined up with the
screen.
42
As described above, by selecting each corner one at a time you can adjust the
surface area to cover the area of the screen,
or you can use the middle points to scale and the outer corners to rotate.
43
The Grid overlay should line up with the plane you’re tracking and move with it as
you cycle through the clip. You can change the density of the grid by adjusting the
X and Y grid values in View | Viewer Preferences:
The grid overlay can give you a quick representation of the accuracy of the track.
44
The Trace feature allows you to see the position of the planar corners over time.
Skip allows you to work with only every nth frame, useful on particularly long roto
shots where the movement is predictable.
45
When you track a layer, the mattes of any active layers above the
layer itself are subtracted from the matte of the layer and hence
influence the area being tracked. To keep your tracking
predictable, it is recommended that you keep your tracking layers
on the top of the stack unless you specifically wish to use other
layers to subtract from the tracking area of layers beneath it.
To monitor what the tracker "sees" as a tracking area, select the Track Matte
button in the view control.
You can modify aspects of the surface by right-clicking anywhere on the edges or
the centre point.
46
• Set Ratio: This submenu allows setting of predefined ratios or custom ratios:
◦ Source: Sets the current surface to the same ratio as the source footage
◦ Insert: Sets the current surface to the same ratio as the insert clip
◦ 16:9, 4:3, 2:1: Sets the surface to these commonly used ratio types
◦ Custom…: This brings up an entry field so you can define your own ratio,
either in dot format (e.g 1.4) or colon format (eg. 16:9)
• Align: This is the same control as the Align Surface tool button in the Toolbar. It
will set the size of the surface to fit the dimensions of the tracked footage.
• Hide: Hides the surface. To turn it back on you will need to toggle the view
from the toolbar.
• Reset: Resets the surface back to the dimensions of the spline area. If more
than one spline exists in the layer, it will reset to the collective area of all
splines.
• Hide Insert: Hides the insert clip inside the Surface without turning off Preview.
Toggle to turn the insert back on.
Importing Mattes
There may be instances where you have already created mattes for one or more
47
objects in the shot, for example using a keyer or another roto tool that would help
you isolate areas to track.
You can import such mattes by creating a new layer and then using the Matte Clip
setting under Layer Properties to assign it to the layer.
When starting a new project, go through your footage a few times to see what
your best options are for tracking. You will save yourself a lot of time by making
note of obstructions and possible problem areas in advance.
Use edges
When tracking surfaces you will usually get a much better track if you include the
edges and not just the interior of an object. This is because Mocha can define the
difference between the background and the foreground and lock on better.
For example, if you are tracking a greenscreen, it is better to draw your shape
around the entire screen rather than just the internal tracking markers. In some
cases this means you can avoid tracking markers altogether and save time on
cleanup later.
You can quite often get a great result with default settings, but if you’re getting a
lot of drift, try setting the Min % Pixels Used value higher. The processing can be
slower, but you will usually get a much more solid track.
Remember you are not limited to one shape in a layer. Use a combination of
shapes to add further areas or cut holes in existing areas to maximize your search.
If necessary, make an additional layer to track and mask out foreground
obstructions before tracking the object you need.
It’s common to use the surface and the grid to line up your corners after you track,
48
but it can be much more advantageous to set up your surface before you track
and leave the grid on to watch for any subtle drift while you are tracking. This way
you can stop your track early to fix any issues and spend less time trying to find
them later.
In order for Mocha to keep the best possible track, it is usually best to scrub
through the timeline and find the largest and clearest area to begin tracking from,
draw your shape there, then use backwards and forward tracking from that point.
For example, if you have a shot of sign coming toward you down a freeway, it is
usually better to start at the end of the clip where the sign is largest, draw your
shape and track backwards, rather than start from the beginning of the clip.
We have a Planar Tracker which specifically tracks planes of motion, but this is
not limited to tables, walls and other flat objects.
When in doubt, try quickly tracking an area to see if it will work, as you can quite
often trick the planar tracker into thinking something is planar.
Mocha is a very flexible tracker and will save a lot of time, but you will eventually
run into a piece of footage that just will not track. Large or continuous
obstructions, extreme blur, low contrast details and sudden flashes can all cause
drift or untrackable situations.
If something just isn’t tracking no matter what you try, consider using Mocha to
track as much as possible then move to manual work. You can often get a lot
more done fixing shots by hand or using AdjustTrack in Mocha rather than trying
to tweak your shapes and parameters over and over again to get everything done
49
automatically.
50
AdjustTrack
Overview
There will be times when tracks can drift due to lack of detail or introduction of
small obstructions. When this occurs, manual refinements can be made by using
the AdjustTrack tool.
To achieve an adjusted track you would ideally line up the surface area where you
want to place your insert or lock down your roto.
In situations where you don’t require an insertion you could place the corners of
the surface area in distinctive locations.
51
We recommend turning off the splines view (i.e 'Show Layer
Outlines') during adjusting the track so you can see the adjustment
of points clearly.
Transform Type
The transform type is used to set up the method of Adjustment you want to use
for the shot.
Each checkbox sets a different number of points when you click “Set Points”
Note that the Transform selection works in a similar way to the Motion type in the
Track module. When you select a motion type further down the list, it will
automatically select the ones above it in order for the tracking keyframes to be
adjusted predictably.
You can opt to turn off the default-selected transform types later if you need to
do a specific adjustment.
After you have chosen the type, click 'Set points' to create the points. You can
52
then adjust the reference points (see below).
Reference Points
1. You can add more points to your adjustment as required. Each point
contributes to the adjustment of the plane based on the position of the other
points.
2. You can select between the points using the cursor or cycle using the select
<> buttons.
4. Once you are happy with the position of the points, click “Set Reference
Frame” to define a frame to look to when adjusting forwards or backwards
from that point.
53
Adjusting points
Once you are happy with the points positions and have set a reference frame, you
can start moving back and forth on the timeline adjusting the points for drift.
Right-clicking a point selects all points or you can shift-click individual points and
can move them as one.
Take note of the Transform type when moving points, as the Transform type
affects how points adjust the track.
By default, for your initial set of points, each point adjustment sets a key frame for
every other point in the shot to avoid unwanted distortions.
54
You can see the original reference frame for the selected point in the zoom
window in the upper left of the viewer and the current frame in the window below
that.
An adjustment point only affects the track within the bounds of its
own keyframes. Outside that keyframe range it stops adjusting the
track. See Adjustment Point Lifespan
You can then keep adjusting the points over the timeline until all drift is corrected.
You’ll notice as you make keyframes for your points that they have different arrow
symbols in the viewer. These help you determine what points have been
keyframed and if there are other keyframes in the timeline for that point.
If there are point keyframes to the left, right or both sides of the current frame,
arrows will appear to indicate the direction they are in.
55
Reference Point with Keyframes: A reference frame
that has adjustment keyframes. Arrows will point in
the direction keyframing has been done on the
timeline. If there are keyframes on either side of the
reference frame, there will be arrows on both sides.
You can add as many points as you like to an adjustment over time. Each
keyframed point contributes to the adjustment on that frame.
A point can be moved to contribute to the current adjustment, but that point’s
adjustments are only valid between those keyframes.
Any additional keyframes you add to a point further in time forward or backward
56
from the reference point will contribute to the overall adjustment.
What this means is you can add new points further along the timeline that can
create adjustments that won’t be affected by the other points.
The point below has a reference point at frame 571 and an adjustment
keyframe at 610. This point only affects the track adjustment between these
keyframes:
Also note the extra bracket on the arrow on the adjustment point. This tells us
we’re currently in the contributing keyframe range of the point.
When you want to add a new point to continue the adjustment, you can create
one at the keyframed boundaries of the old point:
57
3. Place the new point at a clear feature location. It will then become a new
starting reference point.
5. You will will then want to keyframe points separately to avoid keyframing the
old point. See "Keyframing with a New Point" below.
By default, all AdjustTrack points are keyframed at the same time with the
"Keyframe All Points" option:
When adjusting new points in a different keyframe range you will want to turn off
"Keyframe All Points" or use the Alt+CMD/Ctrl shortcut when altering points.
This is important, because continuing to keyframe all points will make the old
points still affect the adjustment at that frame in the timeline.
58
4. Repeat for any points still contributing to the adjustment
5. Do NOT keyframe the old point. Keyframing an obscured or out of frame point
will re-add its position to the adjustment
59
Example 2. Adding and adjusting new points
In this example, the point in the bottom corner is about to go off screen. It’s
last adjustment keyframe is on frame 276:
We can create a new reference point at this frame to keep adjusting when the
old point goes offscreen. Note that this is on the same frame (276):
Further along the timeline, the old point is now out of the screen, but we can
keyframe the new reference point, making sure we’ve turned off "Keyframe All
Points":
60
We then adjust any other point we still want to contribute to the adjustment,
adding a keyframe for those points. Note the specific keyframing arrow that
tells us it’s contributing.
Selecting the old point that is outside the view, we can see it doesn’t have a
keyframe on this frame, and so it is not in the adjustment range:
61
Surface View
While you are adjusting, you can click one of the “Surface View” corners to see
how the surface itself is adjusting to your changes. This is helpful if you are
ultimately planning on using the surface as your export area and want to make
sure it is still lining up.
Nudge
62
Nudging is used to adjust the track by pixel increments. This helps when
adjustments are too subtle to be done by mouse movement.
Each arrow nudges in the indicated direction. You can either click and hold the
button or use the shortcut keys to nudge.
The 'Auto' button in the middle of the direction grid tries to guess where the point
needs to be.
It can be useful to start with 'Auto' to attempt to place the reference point first,
then adjust manually.
Auto Nudge
Auto Nudge takes the 'Auto' action above and lets you use it space adjustments
over the whole shot.
63
If you set 'Auto Step' and define a frame step you can then 'Track' the Auto Nudge
using the tracking buttons in the timeline. Auto Nudge will then nudge the
selected reference points at the frame step interval set.
The Search fields define how far Auto and Auto Nudge look for the area the point
needs to adjust to.
Auto Nudge is useful for quickly going through a shot to help pace
adjustments. It is not recommended to be used as a solution for
finishing adjustments.
Exporting
You can export adjusted tracks as normal via the file menu or via the Track
module just like any regular track.
AdjustTrack Classic
We’ve kept the old-style of AdjustTrack for those who prefer to it, or if you are
working with legacy projects.
This version of AdjustTrack is primarily used for eradicating drift by utilizing the
four-corner surface area to generate keyframable data to compensate. It is
generally not practical to use it to remove jitter.
64
Reference Points
Once you select the Classic AdjustTrack tab, a key frame with four reference
points is created.
65
As you play though the sequence you will be able to manually adjust the position
of each point as drift occurs.
If your track is spot on, these reference points should line up properly throughout
the shot. If you see a Reference Point drifting, that will indicate the track is
drifting. Find the frame where the drift is worst and move the Reference Point
back to the position it had in the Primary Frame and the track will automatically be
adjusted based on your correction.
66
given reference point. For best results keep reference points away from one
another.
When adjusting the track try to always get at least yellow but shoot for green for a
more solid adjust track.
The red lines indicate that this reference point position is a poor choice.
67
The green lines indicate that this reference point position is a good choice.
68
AdjustTrack with More than Four Reference Points
Often there are times where your reference points are either obscured or exit
frame. In AdjustTrack you have the ability to create multiple reference points per
surface corner that can be positioned in alternate locations to handle these
situations. Simply click the New Ref button to create a new reference point for the
selected corner.
You cannot keyframe the Surface — only the Reference Points. The original track
and any refinements you make in AdjustTrack cause the Surface to move
however.
69
Working Backwards
Every so often a shot will come along that is easier to track backwards than
forwards. This is fairly simple when running the tracker backwards, but introduces
some rather obtuse concepts when keyframing is involved. This is why there are
two "New Ref" buttons provided. If you are working backwards and wish to set a
new reference point, you will probably want to use the "<- New Ref" button
instead of the forward-thinking "New Ref ->" button.
Because keyframing "thinks" forward, hitting "<-New Ref" will not create new
Primary Reference points on the current frame, but will go backwards in time,
looking for any existing keyframes and set new Primary Reference points on the
frame directly after. For example, if you decide to create a new backwards
reference point at frame 20, a new primary reference will be created at frame 21.
Some people may be more comfortable doing this manually by moving the
playhead themselves and using the traditional "New Ref ->" button. Others who
do a lot of tracking and find themselves working backwards often may find the
backwards-thinking New Ref button helpful.
70
The red X indicates that this particular frame is the starting point for calculating
adjustments. Moving a Primary Reference Point will NOT change the tracking data.
Go ahead and experiment - move the Reference Point when it is a red X (a Primary
Reference Point). You will notice the Surface isn’t adjusted at all. Step forward a
frame and move the same point - this time the surface will move because you are
now adjusting the track.
71
You may set a new Primary Reference Frame for all active points by hitting the Set
Primary All button.
The next button simply cycles through the active reference points for that frame.
More fine-grained control of reference points can be obtained through the Nudge
control panel, described below.
72
Reference point is encountered.
If you hit the Auto button, a tracker will attempt to line up the selected Reference
Point based on its position in the Primary Reference frame. The Search Region
Size and Maximum Motion parameters can be set in pixels in the Auto Nudge
section.
You can quickly select any corner by using the Corner selector buttons in the
Nudge control panel. In the image below, the user is selecting the upper right
corner in preparation for nudging operations.
View Options
The Classic AdjustTrack tab has a View section for cleaning up your AdjustTrack
workspace. Deselecting the Inactive Traces button will cause the display to hide
the traces of the inactive Reference Points. This is helpful if you have a corner
with numerous Reference Points offsetting it.
Deselecting the Unselected Traces button will hide any Reference Point that is not
selected.
Finally, deselecting the Search Area button will hide the Search Region Size (in
Yellow) and the Maximum Motion search area (in Pink).
73
Tips for AdjustTrack
Adjust frames at the peak of drift
When you see a drift, carefully cycle through the timeline and look for where the
motion starts to change direction. A frame before this, adjust your drift, then go
halfway between your primary frame and the adjusted frame to check for any
further drift. If you keep working by checking halfway between each keyframe
you set, you will reduce the amount of keyframes required.
74
Rotoscoping Basics
Some tools, parameters and techniques listed below may not be
visible in Essentials mode. To see additional interface elements,
switch to Classic mode. See the Layouts section for more
information.
Good rotoscoping artists often think like animators, reverse engineering the
movements, the easing in and outs, the holds and overshoots of objects, and set
their keyframes accordingly.
In general, the fewer the keyframes, the better your mattes will look. Too many
keyframes will cause the edges to 'chatter' and move unnaturally. Too few
keyframes will cause the shapes to drift and lose definition. Finding the right
number and placement of keyframes often comes with experience but there are a
few things to keep in mind when rotoscoping.
1. There is no such thing as a perfect matte. Rotoscoping is an art form that takes
into account the background image, the movement of the object, and the new
elements to be composited in the background.
2. Try to start your shape at its most complex point in time, where it will need the
most control points.
3. Break a complex shape into multiple simple shapes. If you are rotoscoping a
humanoid form and an arm becomes visible, consider rotoscoping the arm as
its own element, rather than adding extra points on the body that will serve no
purpose when the arm is obscured.
4. Imagine you are the animator who created the shot. What would your dope
sheet look like? No matter the medium, whether CG, live action or otherwise,
most movements are rarely linear. They normally move in arcs; they normally
75
accelerate in and out of stopped positions. Try and understand the mechanics
behind how things are moving in your shot. This will help you to minimize
keyframes.
5. Watch and study the shot before you start working. Where are the changes in
directions? These will normally have keyframes. Where are the starts and
stops? Are there camera moves that can be stabilized to make your work
easier?
6. Don’t be afraid to trash your work and start over. Beginning roto artists often
make the mistake of trying to fix a flawed approach by adding more and more
keyframes. Experienced roto artists learn to quickly identify an inferior
approach and are unashamed to trash their work and start over, often many,
many times. It is very difficult to get a good matte without a conscious effort to
keep the keyframes to a minimum.
It also helps to remember that your spline shape is linked to your tracking data
and not the other way around.
For the following examples you can try out the tools using the BMW tutorial files
available from https://cdn.borisfx.com/borisfx/store/mocha-clips/rotoscoping.zip
Rotoscoping Workflow
First of all you want to reduce as much manual work as possible by tracking. In the
example below, the front and side plane of the car is being tracked (For a more
detailed coverage of tracking, see the Tracking Basics documentation).
76
2. Turn off your tracking shape
Once you’ve tracked an area it can be useful to turn it’s visibility off, as well as it’s
tracking cog (so it can’t be accidentally retracked later). This means the tracked
shape will not be confused with any roto shapes you are making.
Once you have a track for a layer we recommend that you add a new layer to use
for the actual roto spline, rather than refining the spline you used for the actual
track as you might need to do more tracking with it later.
Select the X spline or Bézier spline tool and draw a tight spline around the object
you are rotoscoping. Ctrl/Cmd+drag the Bézier tangents if you wish to break
them. You will see that a new layer is automatically created.
You don’t want to track with this layer, so disable tracking for the layer by turning
off the tracking button (the cog) for the layer in the Layer Properties panel.
77
Rename the new layer and link it to the movement of your already tracked layer by
selecting it from the 'Link to Track' dropdown in the layer properties panel.
Your newly created roto spline will now follow the motion of the linked track.
Now you have linked the rotoscoping layer to a track, you need to go over the
timeline and make sure the roto is correctly animated.
Often you will need to tweak your shape for it to fit correctly, adding new
keyframes. Autokey is on by default, so you just need to move along the timeline
and adjust your points where necessary (keyframes turn up in the timeline as
green dots). The tracking data will help for the majority of the motion.
You can also add additional shapes to the same layer using one of the "Add Spline
to Layer" tools. These are the drawing icons with the plus sign next to them ("+").
You can cycle between each point on a spline with the keyboard shortcuts '{' and
'}'. This is useful for when you need to do minor adjustments across many points
separately.
Edges can be feathered either by dragging out feathers point by point using the
edge pointer tools in the toolbar or by using the parameters in the Edge Properties
78
panel.
• The pointer tool with the 'B' will move both the inner and outer spline point (‘B'
= ‘Both')
• The 'E' pointer will only move the outer spline point (‘E' = ‘Edge'). A feathered
edge will occur between the inner and outer spline points
• The 'A' pointer will remove either the inner or outer point depending on which
is selected (‘A' = ‘Any')
You can also use the Set button under Edge Properties to feather the edge at the
selected point(s) an exact amount or use the Add button to increase/decrease the
feather by the specified amount.
For example, if you deselect all points by clicking anywhere on the canvas you can
then use the Set button to apply the default 3 pixel edge width. Because no points
are selected the value is applied to all points on the current layer. You can then
tweak the position of all spline points to ensure that the inner (red) spline is inside
the edge and the outer (blue) spline is outside the edge.
In many instances one track will not be enough. You may need to track more than
one plane to drive different sets of roto. In the car example, we have to track the
front and the side to get an accurate track for each planar region to assist the roto
effectively.
79
In the case of organic shapes, like people, you will have to break your tracks down
to handle the different movement between the torso and the arms etc.
Use this tool with care, as it is not setting any keyframes per se, it is offsetting any
and all keyframe data on the points you move while it is on. Überkey is very
useful, but remember to turn it off again when you don’t need it. Use with care.
Überkey affects only those frames between the timeline’s In and Out point. If you
wish to make adjustments to a particular range, set the In and Out points to that
range.
Or alternatively, use the transform tool to perform all of the above functions in the
same tool:
80
Turning On and Off Points
You can turn on and off individual points in a spline. When they are off, you can
still see the points, they can still be animated, but they are not contributing
mathematically to the spline. This allows you to have a complex spline only when
you need it, rather than having to deal with superfluous points in parts of the shot
when they are not needed.
To turn off points, select the points on the spline and hit Shift+Delete. You will see
the curve change shapes, but the points will remain.
If the Autokey button is enabled, a keyframe will be created when you change a
point’s active status.
81
You can use the movement of the individual spline points to determine motion
blur.
Any movement in the spline, whether through simple X/Y translation or by shape
deformation will cause motion blur.
You can control the amount of blur by changing the motion blur value in the Edge
Properties panel.
Angle
This essentially controls the amount of motion blur for the layer.
Angle simulates how long the shutter is open for if we were viewing through a real
camera, so the range is between:
• 360 (fully open and therefore the maximum motion blur possible).
Phase
This controls the offset of the motion blur from the current frame.
Changing Phase from zero shifts the position of the motion blur to either be more
ahead or behind the currently calculated frame and is useful for tweaking motion
blur that isn’t quite sitting right.
Because Phase is based on the shutter angle you can adjust between the range
82
-180 and 180 (i.e a range of 360 like the shutter angle).
Quality
The steps of motion blur you want to render. The lower the quality, the faster the
render speed. The default is 0.25 but can go as high as 5.0.
Note that this can’t be keyframed and that these settings apply to the entire layer,
not to individual splines of the same layer.
83
Select the Matte button and you will see your rotoscoped object against a flat
background.
84
You can adjust the opacity of the color fill by changing the blend value to the right
of the Colorize button.
The color used by Colorize is derived from the Selected and Unselected
properties of the Overlay Colors panel, which can be changed per layer.
This is only a preview and will not affect how your mattes are rendered when
exporting.
1. Select your layer and turn on the Mattes button (Show Layer Mattes)
For points:
Hiding points will still allow you to adjust the layer with the transform tool.
85
Preview Rendered Mattes [Mocha Pro Only]
In the View Controls panel, you will find a drop-down menu for selecting the clip
to view.
This allows you to view the actual rendered mattes, which can be especially useful
when tweaking motion blur. The motion blur you normally see in your canvas is an
OpenGL preview and can differ slightly from the actual render.
If you’d like to see what the actual motion blur render looks like, switch to viewing
the layer whose matte you wish to see.
Because you can choose specific layers for export when you render, a render
pass is created for each layer.
Switch the View Clip drop-down back to your source clip to continue working with
86
that clip.
Open Splines
If you want to draw open splines, you can simply hold shift when you right-click to
finish the spline. This will open the shape up.
• You can close an existing shape using the Close Spline shortcut key (by default
this is 'c')
• Both the Open and Close shortcuts also work for finishing a spline rather than
using Shift + Right-Click
You can also right-click a spline and choose: Spline | Open/Close Spline
Naming layers is very important to save yourself time later, especially if you are
doing a heavy rotoscoping job. Get into the habit of labeling each layer with
specific names.
Turn off the splines and just work with points and the matte
If you are working on a tight roto it can sometimes be easier to turn the spline off
and just see the matte with the control points. To do this:
1. Select your layer and turn on the Mattes button (Show Layer Mattes)
If your other view options are at default settings you should now see the matte in
the viewer with only the tangents and control points visible.
87
The Dope Sheet and Curve Editor
The Dope Sheet
The Dope Sheet is used to move, copy and paste keyframes in your layers.
You can navigate the Dope Sheet space by using the scroll bars horizontally and
vertically.
Holding CTRL/CMD+Scrolling the mouse wheel will let you scale up and down the
timeline.
You can also zoom to specific ranges by selecting one of the options from the
"View" drop down at the top of the dopesheet view:
As you create animation or tracking data, you will see a number of hollow
88
keyframes appear in the Dope Sheet. These are known as Group Keyframes which
are keys that contain multiple sets of Parameter Keyframes underneath them.
You can move the Group Keyframes like normal animation keyframes, but instead
of a single animation key, they will move all the keyframes underneath them.
This is useful when you need to shift a whole section of animation in a layer, and
not just an individual point or parameter.
Expanding a section of the layer tree in the dope sheet will reveal either
Parameter Keyframes or more Group Keyframes, depending on how many levels in
that layer tree there are.
To select keyframes, you either click on one of them in the Dope Sheet, or
marquee select a section. You can use SHIFT to pick multiple keys.
You can move the keyframes manually by dragging them with the mouse, or you
can use the standard Copy/Paste keys (CTRL/CMD+C, CTRL/CMD+V) to copy
keys and paste them at the current playhead position.
NOTE: At this time you cannot copy and paste Group Keyframes, only
Parameter/Animation keyframes.
Sliding Keys
89
You can slide keyframes one of two ways:
1. Enter the keyframe position you want into the Slide Keys field and press enter
2. Select the "Move to playhead" button to push the keyframes to the current
playhead position.
If you need to only move some of the keyframes, just select the ones needed and
use the "Selected" radio button option before performing the slide.
You may navigate the Curve Editor space by using the middle mouse button to
Pan and the mouse wheel to zoom. Alternately, you may pan using the ‘x' key on
the keyboard and zoom using the ‘z' key on the keyboard. When zooming with the
‘z' key, left/right mouse movements will zoom in/out horizontally and up/down
mouse movements will zoom vertically.
To select keyframes, you must first select the curve, then the keyframes.
Keyframes of unselected curves are not selectable.
90
You may move the keyframes manually by dragging them with the mouse, or you
may type in a "Nudge" value at the top right of the Curve Editor.
Entering a negative value in the "Nudge Time" field and hitting the button will
move selected keyframes backwards in time by that amount every time you hit
the button. Entering a positive value in the "Nudge Value" field and hitting its
button will move selected keyframes up in value by that amount every time you hit
the button.
91
Right click on a selected keyframe and choose Interpolation->Bezier. Bezier
tangent controls will appear on your keys and you may adjust them for easing in
and out.
If a keyframe is the first or last keyframe on the curve, its extrapolation can be
chosen. Extrapolation describes the method of how values are calculated "off into
space" before the first keyframe or after the last keyframe. It defaults to Constant,
which simply holds the value steady.
Choose linear extrapolation and the curve editor will continue the value on its
current slope (sometimes called Gradient Extrapolation in other applications).
92
The Clip Module
General Clip View
The Clip module previews your clips in Mocha. It provide basic clip property
information.
Managing clips
You cannot manage clips in this version of Mocha. To import additional clips,
manage clip streams or handle stereo, you need Mocha Pro.
Crop Mask
You can mask down the clip to only allow Mocha to handle parts of the footage.
This is useful when you only need to track some area of the clip, or need to crop
out letter boxing.
You can either adjust the Clip mask by moving the yellow dotted line on screen, or
manually entering values into the Crop Mask parameters.
Timeline numbering
Here you can set whether you want the timeline display to be in frames or
timecode.
93
OpenColorIO (OCIO) Color Management
OCIO Color Management
Some OCIO features are only available in Mocha Pro and may be
missing from Mocha AE.
Mocha has extensive color management tools based on the Open Source Color
Management framework called OpenColorIO (OCIO) .
Since Mocha often renders out a result (be it a Matte or a render in Mocha Pro) we
need to make sure we are matching the original source Mocha is working with,
otherwise the output will not match.
94
Mocha defaults to an OCIO configuration that matches the nuke-
default configuration found in Nuke by The Foundry.
To set a working colorspace, you can open the Viewer Preferences, which is
located in the top right-hand corner of the viewer:
Then, choose a role from the “Working Color Space” drop down that matches your
current working space:
These options default to the Mocha OCIO config file, but may show varied options
if you are using a custom configuration file (ACES,for example).
Then choose a Display View type from the list in the drop down:
95
Defining the Clip Color Space
To set a Clip color space, go to the Clip Module and switch to the Color Space tab.
You can then choose an option from the “Clip Color Space” drop down:
You can also convert the image Depth to float or 8-bit if so required:
96
These options default to the Mocha OCIO config file, but may show varied options
if you are using a custom configuration file.
This gives you all the colour settings in one place to setup the color workflow for
clips, display and working space.
97
Here the Color Space section is divided into several sections:
• OCIO config: Here you can change the OCIO config or reset back to the
default.
98
• Working Color Space: The color space or Role you want to work with
• Display View: The color view you want to display, such as sRGB, Rec709 etc
• Clip Color space Mode: This is either OCIO or Legacy, which is important if you
are opening projects from an earlier version of Mocha.
• Default Color Spaces: Here you can define what color space to set for clips at
various bit depths.
• Depth conversion: This lets you define if you want to convert clips by default
to 8-bit or Float.
You can load the path to a different config by accessing any of the config path
options in Mocha.
Configuration files are usually named as config.ocio in the directory of the color
standard you are working with.
Changing the color configuration will automatically update the Working Space, clip
space and Display View options.
Clicking the "Reset" button will reset your color to the Mocha default
configuration.
You can define an OCIO environment variable on your system to point to a custom
99
configuration.
For example, if you wanted to use the default Nuke OCIO config, you could define:
export OCIO=$HOME/OCIO/nuke-default/config.ocio
Then run Mocha (or your plugin host) from the terminal after defining this variable.
You could also set the OCIO environment variable system-wide using an
appropriate OS-specific method (e.g. the Environment Variables dialog in
Windows).
If there is no config set, you should see the Mocha default configuration in the
interface.
If you set a valid config path, you should see the complete list of supported color
spaces.
Once set, the OCIO config will be saved with the project.
100
These map exactly like the controls in Project Settings, but will be assigned
automatically when creating new projects.
101
Keyboard Shortcuts
Keyboard Shortcut customization
You can now customize keyboard shortcuts for almost every tool, action and
menu item in Mocha.
You can access the keyboard shortcut customization dialog in two ways:
1. Directly, via File | Keyboard | Customize…
You can create a new profile by duplicating a default profile, then customize the
keys. These profiles are then available from the Keyboard menu:
2. Select a category and choose an action you want to change or add a key
sequence to
6. Click "Default" if you want to revert your change back to the default shortcut
102
Pressing return or delete/backspace counts as a key entry, so
please click outside the cell to complete the entry and use the
"Clear" button to clear an entry.
Tools
103
CTRL/CMD + SHIFT + Z Redo
C Close contour
D Delete point
Transform
W Rotate
Q Translate
E Scale
Down Arrow Nudge Point/Layer down 1 pixel
Up Arrow Nudge Point/Layer up 1 pixel
Left Arrow Nudge Point/Layer left 1 pixel
Right Arrow Nudge Point/Layer right 1 pixel
SHIFT + Down Arrow Nudge Point/Layer down 10 pixels
SHIFT + Up Arrow Nudge Point/Layer up 10 pixels
SHIFT + Left Arrow Nudge Point/Layer left 10 pixels
SHIFT + Right Arrow Nudge Point/Layer right 10 pixels
Viewer Canvas
- Zoom out
+ Zoom in
/ Zoom to 100%
* Zoom to fit
Alt + 1 Show/Hide Mattes
Alt + 2 Show/Hide Color Layer Mattes
Alt + 4 Show/Hide Layers
Alt + 5 Show/Hide Spline Tangents
Alt + 6 Show/Hide Surface
Alt + 7 Show/Hide Grid
Alt + 8 Show/Hide Zoom Windows
` (Back dash) Show/Hide All Overlays
104
Timeline
105
Preferences
Some of the preferences below relate to Mocha Pro. Some
preferences may not be available in the Mocha Pro Plugin, Mocha
AE and Mocha HitFilm.
Preferences location
Preferences are accessed through File > Preferences on Windows or Linux
(Mocha Pro only) and Application Menu > Preferences on OS X.
You can also choose to reset all preferences back to the default using the
"Restore Defaults" button in the bottom left of the dialog.
Output Settings
File Storage
The Output Directory settings specify the default location of the directory in which
the project file and rendered clips are stored. There is a choice between:
• Absolute Path: The project directory as an absolute path. For the best
performance choose a folder on a fast disk, with plenty of disk space available.
106
Autosave
The Autosave box is selected by default. This will automatically save the project
you are working on.
Set the interval between saves by increasing or decreasing the value in the
Interval (minutes) box.
The default is 5 minutes. If Save Images Every Frame is checked, rendered frames
are saved to disk as soon as they are created in memory; otherwise the render to
disk only occurs when rendering a sequence of frames.
You can define the Autosave directory or leave it to the system default.
In the standalone, if there is an autosave file available for the project you have
loaded, a dialog will appear asking if you want to open that instead.
In the plugin, the dialog will appear if there is an autosave available for a Mocha
project done in that host. You can then choose to open, save or remove the
project file.
For example, if you are working in After Effects and there is a problem, recovering
your AE project and opening the Mocha GUI will show a Mocha Autosave recovery
dialog for the project made in After Effects.
If you have other autosaves (for example from another Mocha Pro plugin host),
the recovery dialog will NOT appear, as it was a project made in another program.
"mochaAE_plugin-6_aftereffects-16.mocha.autosave"
This literally translates to: "Mocha AE Plugin project saved in After Effects v16".
In the plugin, we can only save an autosave file per HOST, that is, we have no
knowledge of the project/layer that is being worked on, so we can only save
based on what we know, i.e the host the mocha project was saved in.
107
This means that in the plugin, a crash from a previous project will trigger a load
prompt in ANY project you open created in the same host. For example:
2. Autosave kicks in
4. Reopen host
We time-stamp the autosave dialog so you can have a better idea of when the file
was saved, but if you open the autosave it will replace your existing work.
If your plugin autosave doesn’t automatically prompt to open, you can locate the
directory in the support path. By default these are:
• Windows: C:\Users\[username]\AppData\Roaming\BorisFX\Autosave
• Linux: ~/.config/BorisFX/Autosave
You can then Open or Merge the file into a new or existing project.
Autosave Backups
We also back up each session autosave just in case a previous autosave has a
problem or you want to revert back to an older state.
You can define how many backups in the "Number of Backups field" next to the
Autosave interval field.
Cache Directory
Specify here the folder to use for caching image data and storing auto-saved
project files. For the best performance, choose a folder on a fast disk with plenty
108
of disk space available. A lot of data is written out in the background while you
work, approximately three times as much disk space as the taken up by the
original clip will be used.
The Cache Original Clip box (Standalone only) is selected by default. This will
cache the original clip to the File Cache when a project is created or opened for a
more efficient playback and workflow. It is only necessary to check this if you are
getting footage from a slow network.
System
Application
The Maximum Size of the history is the number of user interactions stored in the
undo/redo command list. The limit is used to conserve memory.
This feature is to limit the number of threads Mocha will use on multi-core
machines.
On a machine with many cores, users may wish to limit the number of threads per
thread pool
to prevent Mocha from creating too many threads and potentially crashing.
The default value will be the number of available cores. A value of 16 is a good
base value to start from.
109
Track in Mocha AE
Check the box if you want to open Mocha Pro via the "Track in Mocha AE" option
inside After Effects, rather than loading the bundled Mocha AE.
Set how many layouts you want to appear in the View menu. The default is 3.
Field Controls
• Rotation Controls: Adjusts the value in the field by moving the mouse in a
circular motion. The larger the circle motion, the more refined the adjustment.
• Linear Controls: Drag left or right in the field to adjust the value.
Inverts the motion of when scrolling in a field increases the value or decreases it.
Toggles scrolling with the mouse wheel. This is on by default. There are two sub-
options:
• Mouse Wheel Scrubs Timeline: Sets the mouse wheel to scrub the timeline
when the cursor is over the viewer or the timeline.
• Mouse Wheel Zooms Viewer: Sets the mouse wheel to zoom in and out of the
viewer when the cursor is over the viewer.
If you hover over the timeline, it scrolls the timeline instead.
Toggles whether Mocha reads tablet pressure sensitivity for tools such as the
Area Brush. On by default.
110
Layer Settings
Default Colors
Default Opacity
GPU
Any changes to GPU settings requires a restart of Mocha. For
standalone, this is simply closing Mocha and reopening.
For the Mocha plugin, you need to restart the host environment to
reload the plugin completely.
Display
Enable vertical sync in the frame display. We highly recommend you keep this on.
The amount of memory that you want to be reserved for textures. This determines
how many frames can be played back in real-time.
111
Stereo [Mocha Pro Only]
Here you can enable Active Stereo viewing mode if it is available to you.
Matte Rendering
By default, Mocha will generate matte clips and track mattes by rendering with
OpenGL to an offscreen buffer.
If Disable Offscreen Buffers is checked, Mocha will fall back to a software-based
matte rendering implementation which is slower and produces lower-quality
results, but will work on all hardware.
GPU Processing
This option is on by default and sets the planar tracker to use the graphics card
instead of the CPU.
If this option is disabled it means you do not have a supported graphics card for
GPU tracking.
OpenCL Device
This option lets you choose the graphics card you want to use for GPU tracking.
By default this is set to Automatic, which attempts to choose the best available
option.
This option lets you override the officially supported graphics card list and choose
any GPU on your system.
Use this option with care as it may lead to unstable results.
Color
Handles defaults for OCIO color settings. See the OpenColorIO (OCIO) chapter for
112
more details.
Clip
If you are working on a number of shots that share the same clip attributes (the
same video standard, frame rate and color space), it can be useful to set a default
clip setting. Then you will not have to re-enter the same clip information each time
you load a clip.
Defaults
FPS
You can enter a custom number if you click inside the dropdown.
Custom PAR
Options to set you default timeline as frames or timecode, and set a fixed frame
offset.
A yellow warning telling you the frame is not rendered will appear over the source
frame.
Format
Setting the format defines what results are rendered out to, but also define what
your Cleanplate clips will be saved as.
113
Integer result clip format
What to set you rendering result output to for integer clip formats. Currently the
choice is between DPX and TIFF.
What to set you rendering result output to for float clip formats. Currently the
choice is between EXR and TIFF.
Float clips will be generated internally as 32-bit float, increasing the precision of
compositing operations but using more memory.
Interlacing
Select the Separate Fields button if you normally use field-based clips.
This will usually consist of a video clip with options for PAL (upper field first, also
used for SECAM) or NTSC (lower field first) field ordering. Separate Fields will de-
interlace the clip and display both fields. When a clip is rendered, the fields will
automatically be interlaced back together again. There is also a 3:2 Pulldown
option if you mainly work with 3:2 pulldown material.
Video Files
Read/write using
The footage handling process to use. The default is GStreamer. You also have the
option to use QuickTime.
Note that your choice of clip media handler does not affect the opening of image
sequences such as TIFF, DPX, EXR and so on.
It also doesn’t affect any host source material being opened from the Mocha Plug-
In, but will affect any clip media you import directly from disk.
GStreamer
This is a versatile media handling library for reading in various codecs and footage
containers.
GStreamer currently has limited support for writing out of clips. More will be
114
available in later versions.
If you need to render out a clip to disk, we recommend using a lossless sequence
such as TIFF or DPX.
QuickTime
Open files using the QuickTime library. This will only open footage that QuickTime
can open.
You must restart the host or the standalone application for any change to the
read/write settings.
Mask
Logging
Diagnostic Logging
This is selected by default. The file generated is useful for Boris FX engineers to
diagnose error messages and fix any problems. You can view the log by selecting
View Log from the Help menu. You can also change the location of the Log File
from its default.
Verbose Mode
115
This is set to off by default. If you are working on a labor-intensive project, you
can switch to only log errors as they occur, rather than constantly checking. This
provides less information in the event of an error, but can marginally improve
performance.
Verbose mode also logs render times. If you are interested in measuring render
performance in your projects, check your log after rendering.
Keep this option on to send anonymous crash and error data to Boris FX.
This is extremely useful for helping the Mocha team fix defects in future versions
and help narrow down problems.
Key Shortcuts
See the chapter on Keyboard Shortcuts for more information.
116
Third Party Open Source and
Commercial Licenses Used by Mocha
Mocha uses the following third-party libraries and commercial licenses.
Where relevant, full license text is listed under each heading.
OpenColorIO
License
117
OpenSSL
License
LICENSE ISSUES
==============
The OpenSSL toolkit stays under a double license, i.e. both the
conditions of
the OpenSSL License and the original SSLeay license apply to the
toolkit.
See below for the actual license texts.
OpenSSL License
---------------
/*
====================================================================
* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above
copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL
Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be
used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please
contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
118
*
* 6. Redistributions of any form whatsoever must retain the
following
* acknowledgment:
* "This product includes software developed by the OpenSSL
Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by
Tim
* Hudson (tjh@cryptsoft.com).
*
*/
119
* included with this distribution is covered by the same copyright
terms
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
*
* Copyright remains Eric Young's, and as such any Copyright notices
in
* the code are not to be removed.
* If this package is used in a product, Eric Young should be given
attribution
* as the author of the parts of the library used.
* This can be in the form of a textual message at program startup or
* in documentation (online or textual) provided with the package.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above
copyright
* notice, this list of conditions and the following disclaimer in
the
* documentation and/or other materials provided with the
distribution.
* 3. All advertising materials mentioning features or use of this
software
* must display the following acknowledgement:
* "This product includes cryptographic software written by
* Eric Young (eay@cryptsoft.com)"
* The word 'cryptographic' can be left out if the rouines from
the library
* being used are not cryptographic related :-).
* 4. If you include any Windows specific code (or a derivative
thereof) from
* the apps directory (application code) you must include an
acknowledgement:
* "This product includes software written by Tim Hudson
(tjh@cryptsoft.com)"
*
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
120
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF
* SUCH DAMAGE.
*
* The licence and distribution terms for any publically available
version or
* derivative of this code cannot be changed. i.e. this code cannot
simply be
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
libpng
License
libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:
Simon-Pierre Cadieux
Eric S. Raymond
Mans Rullgard
Cosmin Truta
Gilles Vollant
James Yu
121
Mandar Sahastrabuddhe
Google Inc.
Vadim Barkov
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000,
are
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
libpng-0.96, and are distributed according to the same disclaimer and
license as libpng-0.96, with the following individuals added to the
list
of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
and are distributed according to the same disclaimer and license as
libpng-0.88, with the following individuals added to the list of
Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
122
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
TRADEMARK:
123
The name "libpng" has not been registered by the Copyright owner
as a trademark in any jurisdiction. However, because libpng has
been distributed and maintained world-wide, continually since 1995,
the Copyright owner claims "common-law trademark protection" in any
jurisdiction where common-law trademark is recognized.
OSI CERTIFICATION:
EXPORT CONTROL:
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
July 15, 2018
libjpeg
This software is based in part on the work of the Independent JPEG Group.
FBX SDK
The FBX SDK is supplied by Autodesk.
124
License
OpenEXR
License
125
FreeType
License
fontconfig
License
126
libtiff
License
uuid
OSSP uuid uses the MIT license.
127
License
libxml
128
License
libz
129
License
Eigen
130
License
OpenCV
License
131
If you do not agree to this license, do not download, install,
copy or use the software.
License Agreement
For Open Source Computer Vision Library
(3-clause BSD License)
* Neither the names of the copyright holders nor the names of the
contributors
may be used to endorse or promote products derived from this
software
without specific prior written permission.
132
caused
and on any theory of liability, whether in contract, strict
liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such
damage.
133