Reconcile3D turns a point in 3D space into an x, y position in the camera. The 3D point is controlled by the first fields in the properties panel, and by the optional Axis input. The point is projected through the camera to the image and the position of the result is put in XY output. In addition, the absolute 3D point is put in XYZ output (this is only useful if there is an Axis parent, otherwise it is the same as the input point). This lets you lock a photographed plate to a 3D scene or track.
NOTE: The point must be in front of the camera to evaluate correctly.
Connection Type |
Connection Name |
Function |
Input |
axis |
3D point control coordinates are relative to this optional input. |
cam |
The viewing camera. This might be created using CameraTracker or imported from a 3rd party application. |
|
img |
The image in which you want to position the 3D point. Output resolution is determined from this image. |
Control (UI) |
Knob (Scripting) |
Default Value |
Function |
Reconcile3D Tab |
|||
Input |
|||
3D point xyz |
point |
0, 0, 0 |
The x, y, and z values of the 3D point that you want to turn into an xy position in the camera. |
Output |
|||
create keyframes |
N/A |
N/A |
Click to evaluate the XY output and XYZ output keyframes for a specific frame range. |
calculate output live |
calc_output |
disabled |
When enabled, the output values update dynamically. |
XY output |
output |
0, 0 |
The x and y values of the 3D point projected by the camera to the image. The size of the output image is controlled by the format of the img input. |
XYZ output |
outputxyz |
0, 0, 0 |
The x, y, and z values of the point in 3D space, transformed by the axis input, if applicable. |
2D transform |
|||
track xy |
track |
0, 0 |
A point of interest in the input image on the x and y axes that you want to match with the Camera movement. |
offset xy |
offset |
0, 0 |
Extra translation of the input image on the x and y axes. |
stabilize |
stabilize |
disabled |
Normally the transformation moves the track point to the projected 3D point, thus moving a plate to match a 3D scene. If you check this, the transformation is reversed to remove 3D motion by moving the projected 3D point to the track point. |
filter |
filter |
Parzen |
Select the filtering algorithm to use when remapping pixels from their original positions to new positions. This allows you to avoid problems with image quality, particularly in high contrast areas of the frame (where highly aliased, or jaggy, edges may appear if pixels are not filtered and retain their original values). • Impulse - remapped pixels carry their original values. • Cubic - remapped pixels receive some smoothing. • Keys - remapped pixels receive some smoothing, plus minor sharpening (as shown by the negative -y portions of the curve). • Simon - remapped pixels receive some smoothing, plus medium sharpening (as shown by the negative -y portions of the curve). • Rifman - remapped pixels receive some smoothing, plus significant sharpening (as shown by the negative -y portions of the curve). • Mitchell - remapped pixels receive some smoothing, plus blurring to hide pixelation. • Parzen - remapped pixels receive the greatest smoothing of all filters. • Notch - remapped pixels receive flat smoothing (which tends to hide moire patterns). • Lanczos4, Lanczos6, and Sinc4 - remapped pixels receive sharpening which can be useful for scaling down. Lanczos4 provides the least sharpening and Sinc4 the most. |
clamp |
clamp |
disabled |
Sets negative intermediate and final results to zero. This will remove ringing around mattes when using a filter that has negative lobes. When using filters that employ sharpening, such as Rifman and Lanczos, you may see a haloing effect. If necessary, check clamp to correct this problem. |
black outside |
black_outside |
enabled |
This renders as black pixels outside the image boundary, making it easier to layer the element over another. If you uncheck this control, the outside area is filled with the outermost pixels of the image sequence. In most cases, you should keep black outside checked. However, you may want to turn this off for camera shake, or if you want to texture-map or intersect the output with a similar shape. NOTE: Enabling black outside also adds a solid alpha covering the input image area if no alpha is present. |
motionblur |
motionblur |
0 |
Sets the number of motion blur samples. A value of 1 should produce reasonable results for most sequences. Increase the value to produce more samples for higher quality, or decrease it to shorten the processing time. The higher the value, the smoother the result. |
shutter |
shutter |
0.5 |
Enter the number of frames the shutter stays open when motion blurring. For example, a value of 0.5 corresponds to half a frame. Increasing the value produces more blur, and decreasing the value less. |
shutter offset |
shutteroffset |
start |
This value controls how the shutter behaves with respect to the current frame value. It has four options: • centred - center the shutter around the current frame. For example, if you set the shutter value to 1 and your current frame is 30, the shutter stays open from frame 29,5 to 30,5. • start - open the shutter at the current frame. For example, if you set the shutter value to 1 and your current frame is 30, the shutter stays open from frame 30 to 31. • end - close the shutter at the current frame. For example, if you set the shutter value to 1 and your current frame is 30, the shutter stays open from frame 29 to 30. • custom - open the shutter at the time you specify. In the field next to the dropdown menu, enter a value (in frames) you want to add to the current frame. To open the shutter before the current frame, enter a negative value. For example, a value of - 0.5 would open the shutter half a frame before the current frame. |
shuttercustomoffset |
0 |
If the shutter offset control is set to custom, this field is used to set the time that the shutter opens by adding it to the current frame. Values are in frames, so -0.5 would open the shutter half a frame before the current frame. |
|
Python Tab (These controls are for Python callbacks and can be used to have Python functions automatically called when various events happen in Nuke.) |
|||
before render |
beforeRender |
none |
These functions run prior to starting rendering in execute(). If they throw an exception, the render aborts. |
before each frame |
beforeFrameRender |
none |
These functions run prior to starting rendering of each individual frame. If they throw an exception, the render aborts. |
after each frame |
afterFrameRender |
none |
These functions run after each frame is finished rendering. They are not called if the render aborts. If they throw an exception, the render aborts. |
after render |
afterRender |
none |
These functions run after rendering of all frames is finished. If they throw an error, the render aborts. |
render progress | renderProgress | none | These functions run during rendering to determine progress or failure. |