Constraining Camera Position and
Motion
Sometimes you may already know some or all of the path of the camera, for
example,
· it may be available from a motion
controlled camera,
· the camera motion may be mechanically
constrained by a camera dolly,
· you may have measured some on-set
camera data to determine overall scene sizing, or
· you may have already solved the camera
path, then hand-edited it for cleanup.
SynthEyes lets you take advantage of this information to improve a
solution or help set up the coordinate system, using the trajectory lock
controls at the bottom of the
Solver
Control Panel
,
theHard
and Soft Lock Controldialog, and the camera's seed path
information.
Warning:using camera position, orientation, and field of
view locks is avery advanced topic. You need to
thoroughly understand SynthEyes and the coordinate system setup process, and
have excellent mental visualization skills, before you are ready to consider
camera locks. Under no circumstances should they be considered a way to
compensate for inadequate basic tracking skills.
Concept and Terminology
SynthEyes allows you to create locks on path (X, Y, and/or Z translation),
rotation (pan, tilt, and roll), and field of view. You can lock one or more
channels, and locks are animated, so they might apply to an entire shot, a
range of frames, or one frame.
Each lock forces the camera to, or towards, the camera's seed path. The
seed path is what you see before solving, or after clearing the solution. You
can see the seed path at any time using theView/Show seed
pathmenu control, or the button on the Hard and Soft Lock Control
dialog.
Locks may be hard or soft. Hard locks force the camera to the specified
values exactly (except if Constrain is off), similar to pegged trackers. Soft
locks force the camera towards the specified value, but with a strength
determined by a weight value.
Locks are affected by the
Constraincheckbox on the solver
panel
,
similar to what happens with trackers. With Constrain off, locks are
appliedaftersolving, anddo notwarp the
solution. All soft locks are treated as hard locks. With Constrain on, locks
are applied before and during solving, soft locks are treated as such, and
locksdowarp the solution. Field of view locks are not affected
by Constrain, and are always applied.
Camera position locks are more useful than orientation locks; we’ll
consider position locks separately to start with.
You can also constrain objects, but this is even more complex.
Basic Operation
Set up generally proceeds as follows:
1. If you have not already attempted to solve
the scene, go to step 5.
3. Position and animate the camera as desired,
creating a key on each frame where you want the position to be constrained. The
Get buttons can help with this.
4. Turn on the L/R, F/B, and/or U/D buttons as
appropriate depending on the axes to be constrained — these stand for
left/right, front/back, and up/down respectively.
5. Adjust the Constrain checkbox as needed.
The camera position constraints behave similarly to constraints on the
trackers: if the Constrain checkbox on, they are enforced exactly during the
solve, but if the Constrain checkbox is off, they are enforced only loosely
after the completion of the solve. Loosely means that they are satisfied as
best as can be, without modifying the trajectory or overall RMS error of the
solution.
The result of this process is to make the camera match the X, Y, and/or Z
coordinates of the seed path at each key. This basic setup can be used to
accomplish a variety of effects, as described above and covered in more detail
below. At the end of the section, we’ll show some even more exotic
possibilities.
Using a Camera Height
Measurement
Suppose the camera is sitting on a moving dolly in a studio, and you
measured the camera (lens's) height above the floor, and you have some trackers
that are (exactly) on that floor. You can use the height measurement to set up
the scene size as follows:
1. Show the seed path: View/Show Seed Path
menu item
2. At frame 0, position the camera at the
desired height above the ground plane: 2 meters, 48 inches, whatever.
3. Turn on the U/D button on frame
0,turn it back off at frame 1.
4. Set up a main coordinate system using 3 or
more trackers on the floor. Make sure to
notcreate a size
constraint in the process: if using the *3 button on the Coordinate system
panel
or
the Coord button on the Summary panel
,
select the 2nd(on-axis) tracker, and in the Coordinate panel, change
it from Lock Point (at 20,0,0) to On X Axis or On Y Axis.
5. Solve with Go! on the Solver
panel

Note that you can use whatever more complex setup you like in step 4, as
long as it completely constrains both the translation and rotation, but not the
size.
WARNING: You might be tempted to think “Hmmm, the camera
is on a dolly, so the entire path must be exactly 43 inches off the floor, let
me set that up!” (by not turning U/D back off). But this is almost
alwaysa bad idea! The obvious problem is that the dolly track
is never really completely flat and free of bumps. If the vertical field of
view is 2 meters, and you are shooting 1080i/p HDTV, then roughly your track
must beperfectly flat to 1 millimeteror so to have a sub-pixel
impact. If your track is that flat, congratulations.
The conceptually more subtle, but bigger impact problem is this: a normal
tripod head puts the camera lens very far from the center of rotation of the
head—roughly 1 foot or 0.25 meter. As you tilt the head, the position of the
camera increases and decreases up to that much in height! Unless your camera
does not tilt during the shot, or you have an extra-special nodal-pan head, the
camera height will change dramatically during the shot.
A Straight Dolly Track Setup
If your camera rides a straight dolly track, you can use the length of
that track to set the scale, and almost the entire coordinates system if
desired. While the camera height measurement setup discussed above is simpler,
it is appropriate mainly for a studio environment with a flat floor. The dolly
track setup here is useful when a dolly track is set up outdoors in an
environment with no clearly-defined ground plane—in front of a hillside,
say.
For this setup, you should measure the distance traveled by the camera
head down the track, by a consistent point on the camera or tripod. For
example, if you have a 20’ track, the camera might travel only 16’ or so
because there will be a 2’ dead zone at each end due to the width of the tripod
and dolly. Measure the starting/ending position of the right front wheel,
say.
Next, clear any solved path (or click View/Show seed path), and animate
the camera motion, for example moving from 0,0,0 at the beginning of the shot
to 16,0,0 at the end (or wherever it reaches the maximum, if it comes
back).
You now have two main options: A) mostly tracker-based coordinate setup,
or B) mostly dolly-based coordinate setup, for side-of-hillside shots.
For setup A, turn on only the L/R camera axis constraint checkbox on the
first and last frames (only). The X values you have set up for the camera have
set up an X positioning for the scene, so when you set up constraints on the
trackers, they should constrain rotation fully, plus the front/back and up/down
directions—but not the L/R direction since that would duplicate and conflict
with the camera constraint (unless you are careful and lucky).
For setup B, turn on L/R, F/B, and U/D on the first and last frames
(only). You should take some more care in deciding exactly what coordinate
values you want to use for each axis of the animated camera path, because those
will be defining the coordinate system. [By setting keys only at the beginning
and end of the shot, you largely avoid problems with the camera tilting up and
down—at most it tilts the overall coordinate system from end to end, without
causing conflicting constraints.]
If the track is not level from end to end, you can adjust the beginning or
ending height coordinate of the tracker as appropriate. But usually we expect
the track to have been leveled from end to end.
With X, Y, and Z coordinates keyed at the beginning and end of the shot,
you have already completely constrained translation and scale, and have
constrained 2 of the 3 rotation axes. The only remaining unconstrained rotation
axis is a rotation around the dolly.
To constrain this remaining rotation requires only a single additional
tracker, and only its height measurement! On the set, you should measure the
relative height of a trackable feature compared to the track (usually this will
be to the base of the track, so you should also measure the height of the
camera versus the base). You can measure this height using a level line (a
string and a clip-on bubble level) and a ruler.
On the
Coordinate
System Control Panel
,
select the tracker and set it toAny XY Planeand set the Z
coordinate (for Z-up mode), or selectAny XZ Planeand set the Y
coordinate (for Y-up mode).
Now you’re ready to go! This setup is a valuable one for outdoor shots
where a true vertical reference is required, but the features being tracked are
not structured (rocks, bushes, etc).
Again, we recommendnot trying to constrain the camera to
be exactly linear, though you can easily set this up by locking Y and Z to be
fixed for the duration of the shot, with single-frame locks on X at the
beginning and end of the shot. This setup forces the camera motion to be
exactly straight, but moving in an unknown fashion in X. Although the motion
will be constrained, the setup willnotallow you to use fewer
trackers for the solve.
Using a Supplied Camera Path
This section addresses the case where you have been supplied with an
existing camera translation path, either from a motion-controlled camera rig,
or as a result of hand-editing a previous camera solution, which can be useful
in marginal tracks where you have a good idea what the desired camera motion
is. After editing the path, you want to find the best orientation data for the
given path.
If you have an existing camera path in an external application (either
from a rig, or after editing in maya or max, for example), typically you will
import it using a standard or custom camera-path import script. Be sure that
the solved camera path is cleared first, so that the seed path is loaded.
If you have a solved camera path in SynthEyes, you can edit it directly.
First, select the camera, and hit the Blast button on the 3-D panel. This
transfers the path data from the solved path store into the seed path store.
Clear the solved path and edit the seed path.
Rewind and turn on all 3 camera axis locks: L/R, F/B, and U/D.
Next, configure the solver's seeding method. This requires some care. You
can use the Path Seeding methodonly if your existing path includes
correct orientation and field of view data. Otherwise, you can use the
Automatic method or maybe Seed Points. The Refine mode is not an option since
you have already cleared the solution to load the seed path, and don’t have
orientation data anyway or you’d use Path Seeding.
You can use Seed Points mode if you are editing the path in SynthEyes—but
be sure to hit theSet Allbutton on the Coordinate System Setup
Control panelbeforeclearing the prior solution, so that the
points are set up properly as seeds. You should
probablynotmake them locks, unless you are confident of the
positions already.
With the camera path locked to a complex path (other than a straight
line), no further coordinate system setup is required, or it will be
redundant.
You can solve the scene first with the Constrain checkbox off, then switch
to Refine mode, turn on Constrain, and solve again. This will make it apparent
during the second solve whether or not you have any problems in your constraint
setup, instead of having a solution fail unexpectedly due to conflicting
constraints the first time.
Camera-based Coordinate System
Setup
The camera axis constraints can be used in small doses to set up the
coordinate system, as we’ve seen in the prior sections. Typically you will want
to use only 1 or 2 keys on the seed path; 3 or more keys will usually heavily
constrain the path and require exact knowledge of the camera move timing.
Roughly, each keyed frame is equivalent in effect to a constrained tracker
located at the same spot. You should keep that in mind as you plan your setup,
to avoid under- or over-constraining the coordinate system.
Soft Locks
So far we have described hard locks, which force the camera exactly to the
specified values. Soft locks pull more gently on the camera path, for example,
to add stability to a section of the track with marginal tracking. In either
case, for a lock to be active, the corresponding lock button (U/D, L/R, pan,
etc) must be on.
The weight values on the Hard and Soft Lock dialog controls whether locks
are hard or soft. If the weight is zero (the default), it is a hard lock. A
non-zero weight value specifies a soft lock.
Weight values range from 1 to 120, with 60 a nominal neutral value.
However, we recommend that when creating soft locks, you start with a weight of
10, and work upwards through 20, 30, etc until the desired effect is
obtained.
Weight values are in decibels, a logarithmic scale where 20 decibels is a
factor of 10, and 6 decibels is a factor of two. So 40 is 10 times stronger
than 20, and 26 is twice as strong as a weight of 20. (Decibels are commonly
used for sound level measurements.)
A lock can switch from hard to soft on a frame-by-frame basis, ie frames
0-9 can be hard, and 10-14 soft. You may need to key the weight track carefully
to avoid slow transitions from 20 down to 0, for example.
Soft locks are treated as such only when the Constrain check box is on: it
is the solver that distinguishes between hard and soft locks. If Constrain is
off, the locks will be applied during the final alignment, when they do not
affect the path at all, just re-orient it, so soft locks are treated the same
as hard locks.
Note that the soft lock weight isnota path blending
control. You might naively be tempted to set up a nominal locked path, and try
to animate the soft lock weights expecting a smooth blend between the solved
path and your animated locked path. But that is not what will happen. The
weight changes how seriously SynthEyes takes your request that the camera
should be located at the specified position—but it will affect the tracker
positions and everything else as well.
Orientation Locks
You can apply Pan, Tilt, and Roll rotation locks as well as translational
locks. They can be used for path editing and, to a lesser extent, for
coordinate system setup.
For example, a roll-angle constraint can be used to keep the camera forced
upright. That can be handy on tripod shots with large pans: small amounts of
lens distortion can bend the path into a banana shape; the roll constraint can
flatten that back out.
If the camera looks in two different directions with the roll locked, it
constrainstwodegrees of freedom: only a single pan angle is
undetermined! For example, if looks along the X axis then along the Y axis,
both with roll=0. You might want to think about that for a minute.
The perspective window's local-coordinate-system and path-relative handles
can help make specific adjustments to the camera path.
Inherently, SynthEyes is not susceptible to “gimbal-lock” problems.
However, when you have orientation locks, you are using pan, tilt, and roll
axes that do define overall north and south poles, and you may encounter some
problems if you are trying to lock the camera almost straight up or down. If
this is the case, you may want to change your coordinate system so those views
are along the +Y and –Y axes, for example.
Object Tracking
You can also use locks on moving objects, in addition to cameras. However,
there are several restrictions on this, because moving objects are solved
relative their hosting camera path, but the locks are world coordinate system
values.
If a moving object has path locks, then
1. the host camera must have been previously
solved, pre-loaded, or pre-keyed, and the camera solving mode set to
Disabled,
2. the translation axis locks must either all
be on, or all off, and
3. the rotation axis locks must either all be
on, or all off.
Normally, when SynthEyes handles shots with a moving camera and moving
object, it solves camera and object simultaneously, optimizing them both for
the best overall solution. However, when object locks are present, SynthEyes
must be able to access the camera solution first, in order to be able to apply
the object locks.
With the camera path, SynthEyes changes the translation and rotation axis
lock values into a form usable for the object, but the individual axes are no
longer available, and either all must be constrained, or none. SynthEyes will
automatically turn all the enables on or off together if a moving object is
active.
Object locks have very hard-to-think-about impacts on the local coordinate
system of the trackers within the object. Most object locks will wind up
over-constraining the object coordinate system.
We recommend that object locking be used only to work on the object path,
not to try to set up the object coordinate system.
最終更新:2009年03月05日 01:02