-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAFXEdgeExtend.gizmo
More file actions
308 lines (306 loc) · 4.97 KB
/
AFXEdgeExtend.gizmo
File metadata and controls
308 lines (306 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
#! /usr/local/Nuke10.5v1/libnuke-10.5.1.so -nx
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Copyright (C) 2017, Ryan P. Wilson
#
# Authority FX, Inc.
# www.authorityfx.com
version 10.5 v1
Gizmo {
inputs 3
addUserKnob {20 AFXEdgeExtend}
addUserKnob {41 erode l Erode T Ctrls.erode}
addUserKnob {41 distance l Distance T Ctrls.distance}
addUserKnob {41 vector_blur l "Vector Blur" T Ctrls.vector_blur}
}
Input {
inputs 0
name Input
xpos -812
ypos -452
}
Dot {
name Dot2
xpos -779
ypos -337
}
set N1019ff70 [stack 0]
NoOp {
name Ctrls
xpos -945
ypos -341
addUserKnob {20 AFXEdgeExtend}
addUserKnob {7 erode l Erode R 0 10}
erode 3
addUserKnob {7 distance l Distance R 0 20}
distance 10
addUserKnob {7 vector_blur l "Vector Blur" R 0 20}
vector_blur {{"distance / 2"}}
}
Input {
inputs 0
name matte
xpos -587
ypos -457
number 1
}
Dot {
name Dot3
xpos -554
ypos -346
}
push $N1019ff70
Switch {
inputs 2
which {{"\[exists input1.parent.input]"}}
name alpha_switch
xpos -705
ypos -294
}
Dot {
name Dot34
xpos -554
ypos -202
}
FilterErode {
size {{Ctrls.erode}}
filter gaussian
name FilterErode3
xpos -587
ypos -114
}
Dot {
name Dot32
xpos -554
ypos -28
}
set N102b3530 [stack 0]
Dot {
name Dot33
xpos -357
ypos -28
}
set N102b7ee0 [stack 0]
Dot {
name Dot35
xpos -170
ypos -28
}
Dot {
name Dot5
xpos -170
ypos 240
}
set N10051420 [stack 0]
Dot {
name Dot46
xpos -170
ypos 422
}
set N102c1440 [stack 0]
Dot {
name Dot40
xpos -170
ypos 509
}
FilterErode {
size {{Ctrls.vector_blur}}
filter gaussian
name FilterErode1
xpos -329
ypos 499
}
set N1ff94300 [stack 0]
Input {
inputs 0
name mask
xpos -931
ypos 341
number 2
}
Dot {
name Dot1
xpos -898
ypos 511
}
push $N102c1440
push $N10051420
Invert {
name Invert1
xpos -340
ypos 230
}
push $N102b7ee0
Position {
translate {0 1}
name shift_up
xpos -265
ypos 42
}
push $N102b7ee0
Merge2 {
inputs 2
operation minus
bbox B
Achannels {-rgba.red -rgba.green -rgba.blue rgba.alpha}
Bchannels {-rgba.red -rgba.green -rgba.blue rgba.alpha}
output {-rgba.red -rgba.green -rgba.blue rgba.alpha}
name b_vec
xpos -390
ypos 36
}
Shuffle {
in alpha
red black
green red
out forward
name Shuffle2
xpos -390
ypos 101
}
push $N102b3530
Position {
translate {1 0}
name shift_right
xpos -492
ypos 43
}
push $N102b3530
Merge2 {
inputs 2
operation minus
bbox B
Achannels {-rgba.red -rgba.green -rgba.blue rgba.alpha}
Bchannels {-rgba.red -rgba.green -rgba.blue rgba.alpha}
output {-rgba.red -rgba.green -rgba.blue rgba.alpha}
name u_vec
xpos -587
ypos 37
}
Shuffle {
in alpha
green black
out forward
out2 alpha
name Shuffle3
xpos -587
ypos 108
}
Copy {
inputs 2
from0 rgba.alpha
to0 forward.v
name Copy2
xpos -587
ypos 165
}
Blur {
inputs 1+1
channels forward
size {{Ctrls.vector_blur}}
quality 5
name blur_vectors
xpos -587
ypos 230
}
Expression {
temp_name2 scale
temp_expr2 "max(sqrt((u*u)+(v*v)), 0.0008)"
channel0 {forward.u -forward.v}
expr0 "u / scale"
channel1 {-forward.u forward.v}
expr1 "v / scale"
channel2 none
channel3 none
name normalize_vectors
xpos -587
ypos 292
}
push $N1019ff70
Dot {
name Dot38
xpos -779
ypos 353
}
Copy {
inputs 2
channels motion
bbox B
name Copy5
xpos -587
ypos 337
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
bbox B
name Copy6
xpos -587
ypos 412
disable {{"\[python -execlocal disable\\ =\\ True\\n\\nif\\ \\\"rgba.alpha\\\"\\ in\\ nuke.toNode(\\\"alpha_switch\\\").channels():\\n\\ \\ \\ \\ disable\\ =\\ False\\n\\nret\\ =\\ disable]"}}
}
set Nc3fc350 [stack 0]
VectorBlur2 {
inputs 1+1
channels rgba
uv forward
blur_uv linear
scale {{Ctrls.distance}}
motion_falloff 1
offset -1
soft_lines true
name VectorBlur2_2
xpos -729
ypos 501
}
set N10001020 [stack 0]
Merge2 {
inputs 2
operation from
name Merge2
xpos -329
ypos 592
}
Grade {
channels alpha
white 3
white_clamp true
name Grade1
xpos -329
ypos 642
}
push $N1ff94300
Invert {
name Invert2
xpos -451
ypos 499
}
push $N10001020
push $Nc3fc350
Keymix {
inputs 3
bbox A
name Keymix1
xpos -587
ypos 599
disable {{"\[python -execlocal disable\\ =\\ True\\n\\nif\\ \\\"rgba.alpha\\\"\\ in\\ nuke.toNode(\\\"alpha_switch\\\").channels():\\n\\ \\ \\ \\ disable\\ =\\ False\\n\\nret\\ =\\ disable]" x2 1}}
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
bbox B
name Copy1
xpos -587
ypos 696
disable {{"\[python -execlocal disable\\ =\\ True\\n\\nif\\ \\\"rgba.alpha\\\"\\ in\\ nuke.toNode(\\\"alpha_switch\\\").channels():\\n\\ \\ \\ \\ disable\\ =\\ False\\n\\nret\\ =\\ disable]" x2 1}}
}
Output {
name Output1
xpos -587
ypos 793
}
end_group