CompStart

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

CompStart

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

Обучение

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

Tools

Tech CheckDisplay CheckMotion BlurPhysLightNuke Tools

Компания

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

Проекты

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsКонтакты

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

Позиционный шум

ToolSets / Draw
Draw

2026-09-07

ToolSets/draw/positionNoise.nk

рисовать
шум
позиция
предпочтение
полезность
3d
процедурный
Открыть на GitHub

Функция сэмплирования трехмерного шума из слоя позиционирования позволяет отслеживать вариации в соответствии с геометрией, а не с экранным пространством.

Функция Position Noise считывает выбранный слой (по умолчанию Pref) и управляет функцией noise() в Nuke на основе значений положения RGB. Регуляторы масштабирования и смещения по осям управляют частотой и фазой; результат преобразуется в центрированное изображение в оттенках серого и записывается во все выходные каналы.

Используйте его, когда вам нужны маски для создания эффекта разрушения, зернистости или процедурные маски, которые прикрепляются к 3D-поверхностям с помощью позиционирования или прохода по мировым координатам, а не смещаются в экранном пространстве. Передайте в поток файл Pref или аналогичный XYZ AOV, установите входной слой, затем настройте масштаб по осям x/y/z для детализации и смещения для перемещения или анимации узора.

Эта группа предоставляет доступ к выбору слоя, а также к масштабу и смещению по осям x, y и z. По умолчанию предпочтение отдается пространственным масштабам среднего диапазона; параметр x_offset настроен на перемещение вместе с кадром, чтобы шум мог изменяться со временем без дополнительных узлов.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
add_layer {Pref Pref.X Pref.Y Pref.Z}
Group {
 name positionNoise
 tile_color 0x421010ff
 selected true
 xpos -1162
 ypos 1266
 addUserKnob {20 User l template}
 addUserKnob {41 in l "in 1" T Shuffle35.in}
 addUserKnob {41 x_scale l x T Expression1.x_scale}
 addUserKnob {41 y_scale l y T Expression1.y_scale}
 addUserKnob {41 z_scale l z T Expression1.z_scale}
 addUserKnob {26 ""}
 addUserKnob {41 x_offset T Expression1.x_offset}
 addUserKnob {41 y_offset T Expression1.y_offset}
 addUserKnob {41 z_offset T Expression1.z_offset}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "Template 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
 }
 Shuffle {
  in Pref
  name Shuffle35
  label "\[value in]"
  xpos 665
  ypos 443
 }
 Expression {
  temp_name0 o
  temp_expr0 noise(r*x_scale+x_offset,g*y_scale+y_offset,b*z_scale+z_offset)
  temp_name1 zz
  temp_expr1 o/2+.5
  expr0 zz
  expr1 zz
  expr2 zz
  expr3 zz
  name Expression1
  label "\[knob expr3]"
  xpos 665
  ypos 514
  addUserKnob {20 User}
  addUserKnob {7 x_offset}
  x_offset {{frame/70}}
  addUserKnob {7 y_offset}
  addUserKnob {7 z_offset}
  addUserKnob {7 x_scale l x R 0 100}
  x_scale 32.6
  addUserKnob {7 y_scale l y R 0 100}
  y_scale 31.8
  addUserKnob {7 z_scale l z R 0 100}
  z_scale 26.4
 }
 Output {
  name Output1
  xpos 447
  ypos 1055
 }
end_group