CompStart

ProLessonsCoursesElementsSoftware

CompStart

Learn visual effects with cutting-edge techniques.

Learning

CoursesLessonsPro FeaturesAssetsSoftware

Tools

Tech CheckDisplay CheckMotion BlurPhysLightNuke Tools

Company

InstructorMissionSitemapPrivacyTerms

Projects

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsContact

© 2026 CompStart. All rights reserved.

Time Pin

ToolSets / Time
Time

2026-09-07

ToolSets/time/timePin.nk

time
retiming
offset
utility
timing
pin
View on GitHub

Offsets input timing so a chosen source frame lands on a chosen timeline frame, using a simple from/to pin.

Time Pin wraps a TimeOffset driven by two frame controls: from and to. The offset is to minus from, so the frame you mark as from appears on the frame you mark as to.

Use it when a plate, hold, or element must hit a specific shot frame without hand-calculating the shift. Set from and to directly, or use the Current Frame buttons to capture the playhead into either field.

Drop it on a branch that needs a fixed temporal relationship. Downstream nodes see a steady retime for as long as the from/to values stay put; change either value and the offset updates for the whole stream.

Script code

set cut_paste_input [stack 0]
version 13.2 v4
push $cut_paste_input
Group {
 name timePin
 tile_color 0x421010ff
 selected true
 xpos -237
 ypos -175
 addUserKnob {20 User l timePin}
 addUserKnob {3 frame_from l from}
 frame_from 19
 addUserKnob {22 set_current_to l "Current Frame" -STARTLINE T "nuke.thisNode()\['frame_from'].setValue(nuke.frame())"}
 addUserKnob {3 frame_to l to t "nuke.thisNode()\['frame_to'].setValue(nuke.frame())"}
 frame_to 30
 addUserKnob {22 set_current_from l "Current Frame" -STARTLINE T "nuke.thisNode()\['frame_to'].setValue(nuke.frame())"}
 addUserKnob {26 "" +STARTLINE}
 addUserKnob {26 label_1 l "" +STARTLINE T "Time Pin v1.0"}
 addUserKnob {22 website l DerekVFX.ca +STARTLINE}
}
 Input {
  inputs 0
  name Input
  xpos -218
  ypos -215
 }
 TimeOffset {
  time_offset {{"frame_to - frame_from "}}
  time ""
  name TimeOffset1
  selected true
  xpos -218
  ypos -191
 }
 Output {
  name Output1
  xpos -184
  ypos -75
 }
end_group