2026-09-07
ToolSets/filter/edgeSmear.nk
アルファチャンネルからぼかしたUVマップを作成し、STMapを使用して画像を再サンプリングすることで、RGBエッジをぼかします。
Edge Smearは、アルファから生成されたUVマップを使用してRGBを歪ませます。アルファをガンマ補正し、膨張または収縮させ、そのマットを正規化されたスクリーンUVにコピーし、乗算、ぼかし、乗算解除することで、ソフトエッジのみが変位を持つようにします。STMapは、その結果を元の色に適用します。
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