PinTool
PinTool is a node that helps you to fit a 3D-object into a scene. It can be used for precise positioning of still objects or even for simple geometry tracking. To manipulate a 3D-model with PinTool, you simply drag control points on the model surface (pins) to their corresponding positions in the frame.
Inputs
- bg: frame sequence — receives a footage or a number of photos as a sequence
- geo: geometry — receives a 3D model imported with ReadGeo or created inside Nuke script
- cam: camera — receives camera settings from a Camera node
Knobs
Toolbar
| Name | Label | Description |
|---|---|---|
magic_keyframe |
Magic Keyframe. Press this button to try automatic model placement. The object is being detected using its contour shape. The quality of detection will improve with every new keyframe, considering the keyframes are precise and consistent. | |
center_geo |
center geo | Place the object in 3D space so it will be visible in the frame |
reset_bones |
reset bones | Load bone transformations from the source (input) in the current frame |
focal_length_view |
Current focal length | |
remove_pins |
remove pins | Removes selected pins if there are any, or all pins if nothing is selected |
toggle_pins |
toggle pins | Activate or deactivate selected pins, applied to all pins if nothing is selected |
spring_pins_back |
spring pins back | Pins will be sticking to the surface of the object after dragging |
estimate_focal_length |
estimate focal length | Focal length estimation happens when you drag pins. Estimation starts once you have at least 4 pins. It’s automatically turned off after switching frames. It’s also not available if you chose to get the focal length from a connected Camera node. |
show_transform_handles |
_@2D_ | Show transform handles in the 2D view |
stabilize_viewer |
stabilize viewer | Stabilize Viewer around selected pins or the center of geometry if no pin is selected |
meta_keyframes |
Keyframes toolbar |
PinTool Tab
Results
| Name | Label | Description |
|---|---|---|
focal_length_mode |
Focal length settings
|
|
focal_length |
focal length | Current focal length |
translate |
Geometry translation | |
rotate |
Geometry rotation | |
global_fixed_rx |
x | Lock X-axis rotation |
global_fixed_ry |
y | Lock Y-axis rotation |
global_fixed_rz |
z | Lock Z-axis rotation |
global_fixed_tx |
x | Lock X-axis translation |
global_fixed_ty |
y | Lock Y-axis translation |
global_fixed_tz |
z | Lock Z-axis translation |
bone_transformations |
Rotation and translation for every bone of the imported geometry skeleton. | |
fix_selected |
fix | Lock selected bones so they cannot move and rotate |
unfix_selected |
unfix | Unlock selected bones so they can move and rotate |
to_default_selected |
reset | Reset bones state to default: translation locked, rotation unlocked |
unbreak_rotation |
unbreak rotation | Fix rotation making it continious and removing 360 degrees jumps |
scale |
scale | Geometry input scale. All operations are performed with the scaled geometry. The scale is not restored on the output. |
Export
| Name | Label | Description |
|---|---|---|
export_mode |
Results export mode
|
|
export |
export | Create a node of the selected type |
link_output |
link output | The exported node will be linked to GeoTracker, so when you change someting in GeoTracker the exported node will be updated. Switch it off if you need to embed all data into the exported node, to use in another script for example. |
cam_rotate |
Inverted rotation. When coupled with inverted translation can be used as the rotation of a geometry-tracked camera. | |
cam_translate |
Inverted translation. When coupled with inverted rotation can be used as the translation of a geometry-tracked camera. |
Render
| Name | Label | Description |
|---|---|---|
lit_wireframe |
lit wireframe | The shape of the lit wireframe will be more apparent due to darkening of the furthest regions. |
adaptive_opacity |
adaptive opacity | Opacity will be reduced for dense regions of the wireframe in 2D viewer, so the footage visibility will suffer less. |
wireframe_opacity |
opacity | Opacity of the wireframe drawn in 2D viewer over the footage |
back_face_culling |
back-face culling | Don’t render back-faced polygons in 2D viewer |
textured_wireframe |
use texture | A texture will be used to color the wireframe. The default texture highlights the facial parts. You can connect your own texture to the ‘tex’ input. |
draw_bone_weights |
bone coloring scheme | The way different parts of the 3D model are colored
|
enable_motion_blur |
motion blur | Motion blur simulation. Helps to place the object properly in a frame with motion blur. |
samples |
Sample count for motion blur simulation | |
shutter |
How long the shutter should stay open to achieve motion blur. Time is measured in frames, so 0.5 is half a frame. | |
shutter_offset |
shutter offset | When the shutter should be opened with respect to current frame number
|
shutter_custom_offset |
Specify custom shutter offset (used only if shutter offset set to ‘custom’). | |
pins_color |
normal pins | Normal pin color |
residuals_color |
residuals | Color of pin residual lines |
unpinned_pins_color |
deactivated pins | Color of deactivated pins |
selected_pins_color |
selected pins | Color of selected pins |
wireframe_color |
wireframe | Base colour of the wireframe drawn in 2D viewer over the footage |
bone_weights_color |
secondary mesh color | The secondary color for mesh parts of rigged models |
bone_pivots_color |
bone pivots | The color of bone pivots. You can set alpha to 0 if you don’t want bone pivots to be drawn in viewers. |
bone_joining_color |
skeleton | The color of skeleton. You can set alpha to 0 if you don’t want the skeleton to be drawn in viewers. |
bone_names_color |
bone names | The bone names font color. You can set alpha to 0 if you don’t want bone names to be drawn in viewers. |
Last update: Thu Aug 20 12:38:52 2026