set cut_paste_input [stack 0] version 12.2 v7 push $cut_paste_input Group { name roughenEdges1_1 help "Takes the alpha and distorts it using a random noise pattern. If you have a solid rotoshape which looks too smooth, this will give it a rough edge." addUserKnob {20 User l "Edge Roughen"} addUserKnob {41 noiseSize l "Noise size" t "Smaller number gives a fine, grainy edge. Large number gives blobbier edges." T Noise3.size} addUserKnob {7 myEvo l "Noise Evolution (Z)" R 0 100} addUserKnob {12 myNoisePos l "Noise Position"} addUserKnob {26 ""} addUserKnob {41 distortAmount l "Distort Amount" t "Low number barely effects the image, higher numbers increase the 'reach' of the effect, spreading the shape out further." T IDistort2.uv_scale} addUserKnob {41 coreMix l "Core Mix back" t "To stop the effect eating into the shape too much, you can bring back the core." T Merge4.mix} addUserKnob {7 eroder l "Pre Erode/Dilate" t "If the roughened edge spreads too far out of your intended area, this will erode the shape a little before the roughening is applied." R -5 5} addUserKnob {41 blurSize l "Extra Blur" t "Adds a blur on the end." T Blur2.size} addUserKnob {26 ""} addUserKnob {6 shuffleRGB l "Shuffle A to RGBA" +STARTLINE} shuffleRGB true } Input { inputs 0 name Input1 xpos 400 ypos -329 } Dilate { channels alpha size {{parent.eroder}} name Dilate2 xpos 400 ypos -269 } Dot { name Dot2 xpos 434 ypos -198 } set Nb3d3fc00 [stack 0] Dot { name Dot1 xpos 544 ypos -198 } Dilate { channels alpha size -2.6 name Dilate1 xpos 510 ypos -13 } Blur { channels alpha size 5 name Blur1 label "\[value size]" xpos 510 ypos 46 } push $Nb3d3fc00 Shuffle { red black green black blue black alpha black name Shuffle1 xpos 290 ypos -201 } Noise { size 1.15 zoffset {{parent.myEvo}} octaves 1 lacunarity 6.7 gain 0.96 translate {{parent.myNoisePos} {parent.myNoisePos}} center {960 540} name Noise3 selected true xpos 290 ypos -137 } push $Nb3d3fc00 Copy { inputs 2 from0 rgba.alpha to0 forward.u from1 rgba.alpha to1 forward.v name Copy3 xpos 400 ypos -146 } IDistort { channels alpha uv {forward.u -forward.v} uv_offset 0.28 uv_scale {{parent.IDistort2.uv_scale i}} name IDistort1 xpos 400 ypos -77 } IDistort { channels alpha uv {-forward.u forward.v} uv_offset 0.0105 uv_scale 7.8 name IDistort2 xpos 400 ypos -13 } Merge2 { inputs 2 operation screen mix 0 name Merge4 xpos 400 ypos 55 } Blur { channels alpha size 1.8 name Blur2 label "\[value size]" xpos 400 ypos 110 } Shuffle { red alpha green alpha blue alpha name Shuffle2 xpos 400 ypos 183 disable {{1-parent.shuffleRGB}} } Output { name Output1 xpos 400 ypos 279 } end_group push $cut_paste_input Group { name roughenEdges2_1 addUserKnob {20 User} addUserKnob {16 Border} Border 0.05 addUserKnob {7 EdgeSharpness} EdgeSharpness 0.1 addUserKnob {7 Scale} Scale 0.01 addUserKnob {12 Offset} addUserKnob {12 Center} addUserKnob {16 Size} Size 1 addUserKnob {7 Evolution} Evolution 0.5 } Input { inputs 0 name Input1 selected true xpos -466 ypos -364 } Unpremult { name Unpremult1 xpos -466 ypos -305 } set Naf8ecc00 [stack 0] Blur { channels alpha name Blur9 xpos -466 ypos -258 } set Naf8ec800 [stack 0] Dilate { channels alpha size {{-parent.Border*30 i}} name Dilate1 xpos -466 ypos -164 } set Naf8ec400 [stack 0] push $Naf8ec400 push $Naf8ec800 Merge2 { inputs 2 operation stencil name Merge6 xpos -356 ypos -158 } push $Naf8ec800 Shuffle { alpha black name Shuffle1 xpos -363 ypos -252 } Noise { size {{parent.Scale*10 i}} zoffset {{parent.Evolution i}} lacunarity 1 gain 1 gamma 0 translate {{parent.Offset i} {parent.Offset i}} scale {{parent.Size*6 i}} center {{parent.Center i} {parent.Center i}} name Noise6 xpos -246 ypos -252 } Merge2 { inputs 2 operation mask name Merge7 xpos -246 ypos -158 } Merge2 { inputs 2 name Merge9 xpos -466 ypos -80 } Blur { channels alpha size {{parent.EdgeSharpness*40 i}} name Blur4 xpos -466 ypos -36 } ColorCorrect { channels alpha contrast 4 gamma 0.2 name ColorCorrect5 xpos -466 ypos 13 } Clamp { name Clamp2 xpos -466 ypos 68 } push $Naf8ecc00 Dot { name Dot2 xpos -506 ypos -302 } Dot { name Dot1 xpos -506 ypos 129 } ShuffleCopy { inputs 2 name ShuffleCopy1 xpos -466 ypos 126 } Premult { name Premult1 xpos -466 ypos 150 } Output { name Output1 xpos -466 ypos 243 } end_group