Skip to content

Instantly share code, notes, and snippets.

@draconiansolo
draconiansolo / gist:10457303
Created April 11, 2014 10:41
Distance keyer
set cut_paste_input [stack 0]
version 7.0 v9
push 0
push $cut_paste_input
Group {
inputs 2
name DistanceKeyer
tile_color 0x3a892eff
label "of despair"
selected true
@draconiansolo
draconiansolo / gist:9741799
Last active August 29, 2015 13:57
Color pick mixer thing.
set cut_paste_input [stack 0]
version 7.0 v9
ColorWheel {
inputs 0
format "2048 1556 0 0 2048 1556 2 pixal aspect 2"
gamma 0.45
name ColorWheel1
selected true
xpos -4864
ypos -969
@draconiansolo
draconiansolo / gist:9683780
Last active August 29, 2015 13:57
Picky Keyer
set cut_paste_input [stack 0]
version 7.0 v9
push $cut_paste_input
Group {
name PickyKeyer1
help "<i>Of despair</i>\nv0.5(PoC)\n\nAdd several layers of pickers with keyers that merge automatically. Fun!\nProof of concept version.\nBased on a random conversation between Nico and Owen"
tile_color 0xff9fff
selected true
xpos -6049
ypos -895
@draconiansolo
draconiansolo / gist:9227491
Created February 26, 2014 10:53
Nuke timewarp node with speed diagnostic based on input frame
set cut_paste_input [stack 0]
version 7.0 v9
push $cut_paste_input
TimeWarp {
lookup 1
filter none
name TimeWarp
tile_color 0xffdd00ff
label "\[value prevSpeed], \[value nextSpeed]"
selected true
@draconiansolo
draconiansolo / copypasta.tcl
Last active August 29, 2015 13:56
PxFck_IErode, A little hack based on PxF_IDefocus to make selective eroding possible.
set cut_paste_input [stack 0]
version 9.0 v3
push 0
push $cut_paste_input
Group {
inputs 2
name PxFck_IErode
help "Variable erode based on a control channel."
knobChanged "\nm = nuke.thisNode() # grabs current node\nkc = nuke.thisKnob() #node that is being changed\n\nif kc.name() in \[\"filter\", \"slices\"]: #if changed knob is filer or slices\n i = nuke.toNode('img') \n i2 = nuke.toNode('Shuffle1')\n o = nuke.toNode('Output1')\n \n for n in nuke.allNodes():\n if \"static\" not in n\['label'].getValue():\n nuke.delete(n)\n \n slices = int(m\['slices'].value())\n step = 1\n ii = i\n for x in range(1,slices+step,step):\n \n k = nuke.nodes.Keyer()\n k.setInput(0, i2)\n k\['operation'].setValue(\"red keyer\")\n k\['range'].setExpression(\"(1/parent.slices*\" + str(x) +\")-1/parent.slices\", 0)\n k\['range'].setExpression(\"(1/parent.slices*\" + str(x-1) + \") + (1/parent.slices*parent.overlap)\", 1)\n k\['range'].setValue(1.0, 2)\n
@draconiansolo
draconiansolo / gist:9133920
Last active August 29, 2015 13:56
Nuke Smooth a Stroke
import random
def smoothStroke(stroke):
node=nuke.toNode("RotoPaint1")
curves=node["curves"]
brush=curves.toElement(stroke)
for i in range(len(brush)):
#help(cp)
#break
if i>0 and i<len(brush)-1:
@draconiansolo
draconiansolo / Frame Padding
Last active January 29, 2020 10:37
Nuke tcl frame padding.
frame
[format "%04i" [frame]]
@draconiansolo
draconiansolo / Wavy
Last active August 29, 2015 13:56
Node that outputs a wavy value (Nuke)
set cut_paste_input [stack 0]
version 7.0 v9
push $cut_paste_input
NoOp {
name Wavy
help "Node that outputs a wavy value"
tile_color 0x873000ff
selected true
xpos -8
ypos -77
@draconiansolo
draconiansolo / Noisy
Last active August 29, 2015 13:56
Node that outputs a noisy value (nuke)
set cut_paste_input [stack 0]
version 7.0 v9
push $cut_paste_input
NoOp {
name Noisy
help "Node that outputs a noisy value"
tile_color 0x873000ff
selected true
xpos -40
ypos -149
@draconiansolo
draconiansolo / gist:7734878
Last active December 29, 2015 22:09
Roto Motion Blur Diagnostic of Joy
set cut_paste_input [stack 0]
version 6.3 v8
push $cut_paste_input
Group {
name n_Roto_MBDiagnostic
tile_color 0xdfff00ff
label "Of Joy"
selected true
xpos 29
ypos 896