CompStart

ProУрокиКурсыЭлементыСофт

CompStart

Осваивайте визуальные эффекты и передовые техники.

Обучение

КурсыУрокиPro-функцииРесурсыСофт

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLightNuke Tools

Компания

InstructorМиссияImpressumКонфиденциальностьУсловия

Проекты

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsКонтакты

© 2026 CompStart. Все права защищены.

Узел Sample2

ToolSets / Utility
Utility

2026-09-07

ToolSets/utility/sample2Node.nk

полезность
3D
образец
позиция
карта
ось
свет
выбирать
View on GitHub

Утилита, которая удерживает позицию 3D-выбора из выбранного канала и создает узлы Card, Card3D, Axis или Light в этой точке перемещения.

Узел Sample2 — это небольшая группа утилит для работы с дискретизированной 3D-позицией в Nuke. Он предоставляет управление каналом (по умолчанию P_lig) и вектор выбора, который можно задавать вручную.

Используйте его, когда нужно зафиксировать значение позиции и быстро разместить там узлы сцены. Кнопки Card, Card3D, Axis и Light создают соответствующий узел в корне и устанавливают его перемещение в соответствии с текущим выбранным значением.

В композиции он располагается в линейном потоке как группа сквозной передачи: вход через Shuffle в NoOp, который сохраняет выбранный фрагмент, а затем выход. Он не изменяет изображение; это держатель позиции и инструмент для создания распространенных 3D-узлов в этом сэмпле одним щелчком мыши.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
add_layer {P_lig P_lig.X P_lig.Y P_lig.Z}
Group {
 name sample2Node
 tile_color 0x421010ff
 selected true
 xpos -1148
 ypos 1140
 addUserKnob {20 User l sample2Node}
 addUserKnob {41 in l channel T Shuffle1.in}
 addUserKnob {41 pick l sample T NoOp1.pick}
 addUserKnob {22 Card T "import nuke\n\nvalue = nuke.thisNode().knob('pick').getValue()\n\nnuke.root().begin()\n\nnode = nuke.createNode('Card2')\n\nnode\['translate'].setValue(value)" +STARTLINE}
 addUserKnob {22 Card3D -STARTLINE T "import nuke\n\nvalue = nuke.thisNode().knob('pick').getValue()\n\nnuke.root().begin()\n\nnode = nuke.createNode('Card3D')\n\nnode\['translate'].setValue(value)"}
 addUserKnob {22 Axis -STARTLINE T "import nuke\n\nvalue = nuke.thisNode().knob('pick').getValue()\n\nnuke.root().begin()\n\nnode = nuke.createNode('Axis2')\n\nnode\['translate'].setValue(value)"}
 addUserKnob {22 Light -STARTLINE T "import nuke\n\nvalue = nuke.thisNode().knob('pick').getValue()\n\nnuke.root().begin()\n\nnode = nuke.createNode('Light2')\n\nnode\['translate'].setValue(value)"}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "Sample2Node v1.0"}
 addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
}
 Input {
  inputs 0
  name Input
  xpos 447
  ypos 61
 }
set Ndce0400 [stack 0]
 Output {
  name Output1
  xpos 447
  ypos 1055
 }
push $Ndce0400
 Shuffle {
  in P_lig
  name Shuffle1
  label "\[value in]"
  xpos 272
  ypos 219
 }
 NoOp {
  name NoOp1
  xpos 272
  ypos 282
  hide_input true
  addUserKnob {20 User}
  addUserKnob {18 pick}
  pick {43.7382431 12.38535595 -108.212326}
  addUserKnob {6 pick_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
 }
end_group