CompStart

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

CompStart

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

Обучение

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

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLightNuke Tools

Компания

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

Проекты

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsКонтакты

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

Roto Merge

ToolSets / Channel
Channel

2026-09-07

ToolSets/channel/rotoMerge.nk

рото
матовый
канал
слияние
альфа
полезность
View on GitHub

Объединяет выбранные каналы маски R, G, B и A в одну маску с помощью объединения (A+B−AB) с выходным сигналом Alpha или RGBA.

Функция Roto Merge принимает один входной сигнал и создает одну маску из включенных вами каналов R, G, B и A. Каждый канал масштабируется в соответствии с установленным флажком, затем четыре значения объединяются с помощью стандартного выражения объединения (A+B−AB), чтобы избежать дублирования перекрывающихся областей покрытия.

Используйте его, когда ротоскопические или цветовые маски находятся на разных каналах, и вам нужен единый объединенный альфа-канал для композитной работы. Включайте или выключайте каналы, чтобы включить в результат только те маски, которые вам нужны.

Выход Alpha сохраняет входной сигнал RGB и записывает объединенную маску в альфа-канал. Выход RGBA записывает ту же объединенную маску в R, G, B и A.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
Group {
 name rotoMerge
 tile_color 0x421010ff
 selected true
 xpos -1129
 ypos 968
 addUserKnob {20 User l rotoMerge}
 addUserKnob {4 output l ouput M {Alpha RGBA "" ""}}
 addUserKnob {6 red +STARTLINE}
 addUserKnob {6 green +STARTLINE}
 green true
 addUserKnob {6 blue +STARTLINE}
 blue true
 addUserKnob {6 alpha +STARTLINE}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "RotoMerge v1.0"}
 addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
}
 ChannelMerge {
  inputs 0
  name ChannelMerge1
  xpos 254
  ypos 309
 }
 Input {
  inputs 0
  name Input
  xpos 447
  ypos 61
 }
set Ndf52000 [stack 0]
 Expression {
  expr0 "r * parent.red"
  expr1 "g * parent.green"
  expr2 "b * parent.blue"
  expr3 "a * parent.alpha"
  name Expression2
  xpos 555
  ypos 173
 }
 Expression {
  temp_name0 rg
  temp_expr0 "(r+g) - r*g"
  temp_name1 ba
  temp_expr1 "(b+a) - b*a"
  temp_name2 out
  temp_expr2 "(rg+ba) - rg*ba"
  expr0 out
  expr1 out
  expr2 out
  expr3 out
  name Expression1
  xpos 555
  ypos 237
 }
push $Ndf52000
 MergeExpression {
  inputs 2
  expr0 "parent.output ? Aa : Br"
  expr1 "parent.output  ? Aa : Bg"
  expr2 "parent.output  ? Aa : Bb"
  expr3 Aa
  name MergeExpression1
  xpos 447
  ypos 314
 }
 Output {
  name Output1
  xpos 447
  ypos 1055
 }
end_group