CompStart

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

CompStart

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

Обучение

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

Tools

Tech CheckDisplay CheckMotion BlurPhysLightNuke Tools

Компания

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

Проекты

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsКонтакты

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

Узел Sample2

ToolSets / Utility
Utility

2026-09-07

ToolSets/utility/sample2Node.nk

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

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

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

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

Группа автоматически подбирает выбранный канал и пропускает поток через него, обеспечивая его корректное размещение в цепочке инструментов без изменения изображения.

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