Deform Track v1.0
  • doc
  • Deform Track v1.0 by Wolfgang Niedermeier - Weta Digital
Required Version: 3DE4 R2

Deform Track is a python based tracking curve editing tool for 3DEqualizer4 that allows for linear deformations and offsets of 2D tracking curves. Edits can be made directly on any single tracking curve in as many frames and deformation cycles needed to yield the desired result. It is recommended to assign keyboard shortcuts for fast interaction or to use the floating menu.

I. Access

There are two ways to access the Deform Track tools:

1) through the menu / using shortcuts:
Manual Tracking Controls::Edit::Deform Track

2) by using the floating menu:
Press the Deform Track button in the lower left corner in the Manual Tracking Controls window to launch the floating menu: a point and run Buffer Track to initiate:

II. Basic Features

Buffer Track

Select the track you want to edit and run Buffer Track - this activates the tool and tells it this is the track you want to edit. You can now start editing the track on one frame (offset) or multiple frames (linear deform).

1) a buffered 2D track:

2) edit at one frame:

Offset Track (running Deform Track with only one edit made)

3) run Deform Track to apply the edits you've just made. Running Deform Track with only one edit made to the original track will offset the whole track:

To finetune the offset, edit the track at the same frame and then run Deform Track again. If you edit the curve at a different frame more than one edit has been made to the original track and the track will be deformed instead of offset:

Deform Track

To use the deformation feature you need at least two edits at different frames. From then on, single edits between deformation calls will be treated as additional edits to the previous linear deformation and won't trigger an overall track offset anymore. To offset the whole track with just one edit again, please re-run Buffer Track (existing edit keyframes will be removed.)

Run Deform Track at any stage to apply the tweaks you've just made to the whole track. Cycle through as many edit / deform steps as you lke.

1) a buffered track with two edits:

2) deformed result:

3) multiple edits and resulting linear deformation:

4) existing edits can be refined and more keys can be added:

Note that all edit keys are displayed as keyframes in 3de's time slider area.

III. Additional features

Create Key (blocking the deform for a single frame or framerange)

If you want to keep a position the track already has at a given frame you can use Create Key to lock the track down at that position. Use consecutive keys to mark frameranges where the deform should not be applied. Note that editing the keyframe manually at a frame where Create Key has been used will replace/update this keyframe.

1) track with two manual edits and two keys created in between (the little dots):

2) after running Deform Track the deformation won't have been applied to the area with the two keys set using Create Key:

Auto Extend (toggle)

If you haven't made any edits to the first or last valid frames of the track yet, auto-extend will apply the offset of the nearest edit to the first and last frames. The default state is ON which will be restored each time Buffer Track is run. Auto Extend is non-destructive, you can turn it off and re-run Deform Track to disable it's effect:

1) a buffered track with two edits:

2) deformed result with Auto Extend ON (default):

3) deformed result of the same edits with Auto Extend switched OFF:

Auto Extend can be switched on and off at any stage and will have an effect as long as no manual edits have been made to the first or last keys of the original track.

In the python console, the '<' and '>' letters next to the keylist printout indicate if a manual keyframe has been set at the outer frames of the track:

Console output description: Track runs from frame 5 to 35, Auto Extend turned ON:

keylist:   [26]
# auto extend is applied to both ends of the track

keylist:   [26, 35]>
# Auto Extend only applied to frame 5 (track start)

keylist:   <[5, 26, 35]>
# Auto Extend has no effect (both outer frames have manual keys set)

Import Keyframes
Imports the keyframes the curve had at the time Buffer Track was run and adds them to the current keylist. This is to pick up the keys from a previous session. The tracking boxes are also restored for the imported keyframes.

Remove Key
Run Remove Key to remove the key at the current frame from the keylist. The change will be applied to the curve immediately.

Restore Track
Undo is not supported when using Deform Track, please refine the edits you've made instead or use Remove Key. In case you'd like to go back to the original version of the track just run Restore Track to restore the originally buffered track. Note you can also use Restore Track to insert the buffered track to any other point in any sequence, for example to copy it over from one stereo eye to the other. You can start editing/deforming directly after restoring.

Console output
There is some information printed to the console while the tool is being used:

01   --------------- deform track v1.0 ---------------
02   track of point "01" stored to buffer.
03   auto extend is ON
04   -------------------------------- pass 1
05   keylist:   [26]
06   -------------------------------- pass 2
07   keylist:   [26, 35]>
08   -------------------------------- pass 3
09   auto extend is OFF
10   keylist:   [26, 35]>
11   rack of point "01" restored from buffer.

02   # Buffer Curve - indicates the point used
03   # initial feedback of auto-extend state
04   # Deform Track - first deformation pass is run
05   # one key results in an overall offset
07   # linear deform between frame 26 and 35
09   # Auto Extend - auto extend deactivated
10   # linear deform, without auto-extend
11   # Restore Track - original track is restored

Please save your recent changes.
You Forgot to Accept the License Agreement
Please accept the Software License Agreement in order to proceed with your download.
Your script has been rejected! Please fix all issues listed below before uploading again. Thanks!