CompStart

ProLeccionesCursosElementosSoftware

CompStart

Domina los efectos visuales con técnicas de vanguardia.

Aprendizaje

CursosLeccionesFunciones ProRecursosSoftware

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLightNuke Tools

Empresa

InstructorMisiónImpressumPrivacidadTérminos

Proyectos

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsContacto

© 2026 CompStart. Todos los derechos reservados.

Clave común

ToolSets / Keyer
Keyer

2026-09-07

ToolSets/keyer/commonKey.nk

manipulador
diferencia
mascarilla
comparar
utilidad
unir
View on GitHub

Clave de diferencia entre dos entradas: donde A y B divergen más allá de un umbral, se genera B y una máscara; donde coinciden, se conserva A.

Common Key compara las entradas A y B por canal RGB. Los píxeles cuya diferencia absoluta alcanza o supera el umbral en cualquier canal forman una máscara. Fuera de esa máscara, el resultado conserva A; dentro, toma B. El canal alfa es la máscara de diferencia.

Activa alphaOnly para que siempre se transmita el RGB de B, mientras que la diferencia se escribe en alfa. El umbral controla la sensibilidad de la comparación (los valores pequeños detectan cambios sutiles).

Úselo para aislar cambios entre dos placas similares, crear una matriz de retención o basura a partir de un fotograma de referencia, o generar claves y fusiones posteriores a partir de una simple diferencia A/B sin una pila completa de keyer.

Script code

version 10.5 v6
push $cut_paste_input
Group {
 inputs 2
 name commonKey1
 tile_color 0x421010ff
 selected true
 xpos 1437
 ypos -4164
 addUserKnob {20 User l commonKey}
 addUserKnob {41 threshold T MergeExpression1.threshold}
 addUserKnob {41 alphaOnly T MergeExpression1.alphaOnly}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "CommonKey v1.0"}
 addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
}
 Input {
  inputs 0
  name A
  xpos 625
  ypos 82
  number 1
 }
 Input {
  inputs 0
  name B
  xpos 447
  ypos 76
 }
 MergeExpression {
  inputs 2
  temp_name0 red
  temp_expr0 "abs(Ar-Br) >= threshold ? 1 : 0"
  temp_name1 green
  temp_expr1 "abs(Ag-Bg) >= threshold ? 1 : 0"
  temp_name2 blue
  temp_expr2 "abs(Ab-Bb) >= threshold ? 1 : 0"
  temp_name3 mask
  temp_expr3 max(red,green,blue)
  expr0 "alphaOnly ? Br : mask == 1 ? Br : Ar"
  expr1 "alphaOnly ? Bg : mask == 1 ? Bg : Ag"
  expr2 "alphaOnly ? Bb : mask == 1 ? Bb : Ab"
  expr3 mask
  name MergeExpression1
  selected true
  xpos 447
  ypos 359
  addUserKnob {20 User}
  addUserKnob {6 alphaOnly +STARTLINE}
  addUserKnob {7 threshold R 1e-05 0.1}
  threshold 0.0088
 }
 Output {
  name Output1
  xpos 447
  ypos 1055
 }
end_group