CompStart

ProAulasCursosElementosSoftware

CompStart

Domine efeitos visuais com técnicas de ponta.

Aprendizado

CursosLiçõesRecursos ProRecursosSoftware

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLightNuke Tools

Empresa

InstructorMissãoImpressumPrivacidadeTermos

Projetos

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsContato

© 2026 CompStart. Todos os direitos reservados.

Borrão na borda

ToolSets / Filter
Filter

2026-09-07

ToolSets/filter/edgeSmear.nk

filtro
borda
esfregaço
mapa
alfa
borrão
urdidura
utilidade
View on GitHub

Suaviza as bordas RGB criando um mapa UV desfocado a partir do canal alfa e reamostrando a imagem com STMap.

O Edge Smear distorce o RGB usando um mapa UV derivado do canal alfa. Ele aplica gama ao alfa, dilata ou erode-o, copia essa máscara para as coordenadas UV normalizadas da tela, pré-multiplica, desfoca e, em seguida, desfaz a pré-multiplicação para que apenas a borda suave sofra o deslocamento. O STMap aplica o resultado à cor original.

Script code

set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
Group {
 name edgeSmear
 tile_color 0x421010ff
 selected true
 xpos -1101
 ypos 149
 addUserKnob {20 User l edgeSmear}
 addUserKnob {7 gamma R 0 2}
 gamma 0.99
 addUserKnob {41 size T Blur1.size}
 addUserKnob {41 size_1 l erode T Dilate1.size}
 addUserKnob {26 ""}
 addUserKnob {26 lbl l "" +STARTLINE T "EdgeSmear 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 Nd7fe000 [stack 0]
 Dot {
  name Dot2
  note_font_size 40
  xpos 717
  ypos 65
 }
 AddChannels {
  channels alpha
  name AddChannels1
  xpos 683
  ypos 95
 }
set Nd831800 [stack 0]
 Gamma {
  channels alpha
  value {{parent.gamma}}
  name Gamma1
  xpos 683
  ypos 168
 }
 Dilate {
  channels rgba
  name Dilate1
  label "\[value size] px"
  xpos 683
  ypos 206
 }
push $Nd831800
 Multiply {
  value 0
  name Multiply1
  xpos 583
  ypos 146
 }
 Expression {
  expr0 "(x+.5) / input.width"
  expr1 "(y+.5) / input.height"
  name Expression1
  xpos 583
  ypos 212
 }
set Nd830800 [stack 0]
 Copy {
  inputs 2
  from0 rgba.alpha
  to0 rgba.alpha
  name Copy1
  xpos 683
  ypos 254
 }
 Premult {
  name Premult1
  xpos 683
  ypos 317
 }
 Blur {
  channels rgba
  size 8.4
  name Blur1
  label "\[value size] px"
  xpos 683
  ypos 354
 }
 Unpremult {
  name Unpremult1
  xpos 683
  ypos 440
 }
 Expression {
  expr3 "(r+g+b) != 0"
  name Expression2
  xpos 683
  ypos 466
 }
push $Nd830800
 Merge2 {
  inputs 2
  bbox B
  name Merge1
  xpos 583
  ypos 522
 }
 Dot {
  name Dot3
  note_font_size 40
  xpos 617
  ypos 598
 }
push $Nd7fe000
 Dot {
  name Dot1
  note_font_size 40
  xpos 481
  ypos 261
 }
 STMap {
  inputs 2
  channels rgb
  uv rgb
  name STMap1
  xpos 447
  ypos 594
 }
 Output {
  name Output1
  xpos 447
  ypos 668
 }
end_group