Skip to content

Instantly share code, notes, and snippets.

@heavyimage
Created July 22, 2021 14:38
Show Gist options
  • Save heavyimage/0bfd7dd52455959d2cfdc18c4ea7782a to your computer and use it in GitHub Desktop.
Save heavyimage/0bfd7dd52455959d2cfdc18c4ea7782a to your computer and use it in GitHub Desktop.
set cut_paste_input [stack 0]
version 13.0 v3
push $cut_paste_input
Camera3 {
translate {0 0 5.735000134}
name Camera1
selected true
xpos 476
ypos -130
}
Constant {
inputs 0
color 1
name Constant1
selected true
xpos 563
ypos -462
}
Radial {
output alpha
replace true
area {217.9999999 190 1830 1366}
name Radial1
selected true
xpos 563
ypos -348
}
Blur {
channels alpha
size 200
name Blur1
selected true
xpos 563
ypos -287
}
Premult {
name Premult1
selected true
xpos 563
ypos -236
}
Group {
name ColorCloudBox
note_font "Bitstream Vera Sans"
selected true
xpos 563
ypos -174
mapsize {0.15 0.15}
addUserKnob {20 User}
addUserKnob {26 Generate l "Generation Settings"}
addUserKnob {7 numSlices l "Number of Slices"}
numSlices 10
addUserKnob {22 execute l Rebuild T "def cloudBoxExecute(n):\n\n def createSliceGroup(id, profileSize):\n vol_slice = nuke.createNode(\"Group\", inpanel=False)\n vol_slice\['name'].setValue(\"Slice_%s\" % id)\n idKnob = nuke.Int_Knob('id')\n\n idKnob.setValue(id)\n\n vol_slice.addKnob(idKnob)\n # create group internals\n vol_slice.begin()\n\n shuffle = nuke.createNode(\"Shuffle\", inpanel=False)\n shuffle\['red'].setValue(0)\n shuffle\['green'].setValue(0)\n shuffle\['blue'].setValue(0)\n shuffle\['alpha'].setValue(0)\n\n noise = nuke.createNode(\"Noise\", inpanel=False)\n noise\['zoffset'].setExpression(\"parent.id*parent.parent.zMult+parent.parent.animationOffset\")\n noise\['size'].setExpression(\"parent.parent.size\")\n noise\['octaves'].setExpression(\"parent.parent.octaves\")\n noise\['lacunarity'].setExpression(\"parent.parent.lacunarity\")\n noise\['nyquist'].setExpression(\"parent.parent.nyquist\")\n noise\['gain'].setExpression(\"parent.parent.gain\")\n noise\['gamma'].setExpression(\"parent.parent.gamma\")\n\n mult = nuke.createNode(\"Multiply\",\"value \{parent.parent.alpha\}\", inpanel=False)\n\n # TODO: mult\['channels'].setValue(\"rgb\")\n\n input_shape = nuke.createNode(\"Input\", inpanel=False)\n input_shape\['name'].setValue(\"shape\")\n\n mask = nuke.createNode(\"Merge\", inpanel=False)\n mask\['operation'].setValue(\"mask\")\n mask\['bbox'].setValue(\"A\")\n mask.setInput(0, input_shape)\n mask.setInput(1, mult)\n\n cloudboxMatteShuffle = nuke.createNode(\"Shuffle\", inpanel=False)\n cloudboxMatteShuffle\['in'].setValue(\"alpha\")\n cloudboxMatteShuffle\['out'].setValue(\"cloudbox.matte\")\n\n card = nuke.createNode(\"Card\", inpanel=False)\n card\['translate'].setExpression(\"(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2\",0)\n card\['translate'].setExpression(\"(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2\",1)\n card\['translate'].setExpression(\"(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n\",2)\n card\['rotate'].setExpression(\"parent.id * parent.parent.twist\",2)\n card\['uniform_scale'].setExpression(\"parent.parent.cardScale * %s\" % profileSize)\n card\['rows'].setValue(1)\n card\['columns'].setValue(1)\n\n output = nuke.createNode(\"Output\", inpanel=False)\n shuffle.setInput(0, input_shape)\n vol_slice.end()\n return vol_slice\n\n thisNode = nuke.thisNode()\n numSlices = thisNode\['numSlices'].getValue()\n\n # enter group\n thisNode.begin()\n\n #cache commonly used nodes\n formatPipe = nuke.toNode(\"formatPipe\")\n shapePipe = nuke.toNode(\"shapePipe\")\n cloudFormation = nuke.toNode(\"cloudFormation\")\n cl = nuke.toNode(\"profile\")\n\n # destroy old slices\n for n in nuke.allNodes():\n if n.Class() == \"Group\":\n nuke.delete(n)\n\n # add new slices\n for i in range(int(numSlices)):\n profileSize = cl\['lut'].getValueAt(i/numSlices,0) \n # create slice\n vol_slice = createSliceGroup(i,profileSize)\n\n # hook up slice to the innards of the group\n vol_slice.setInput(0,shapePipe)\n cloudFormation.setInput(i, vol_slice)\n nuke.autoplace(vol_slice)\n\n # leave group\n thisNode.end()\n\n\n\ncloudBoxExecute(nuke.thisNode())\n" +STARTLINE}
addUserKnob {26 CloudSettings l "Cloud Quality Settings"}
addUserKnob {7 animationOffset}
animationOffset 0.33
addUserKnob {7 cardScale}
cardScale 4
addUserKnob {7 zMult}
zMult 0.5
addUserKnob {7 alpha l "Slice Alpha"}
alpha 0.2
addUserKnob {41 size_1 l "Matte Blur" T Blur2.size}
addUserKnob {7 twist}
addUserKnob {6 multiply_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {26 noiseSection l "Noise Controls"}
addUserKnob {4 type_1 l type M {turbulence FBM}}
type_1 FBM
addUserKnob {14 size R 0 100}
size 500
addUserKnob {3 octaves}
octaves 10
addUserKnob {6 nyquist l "Clip at Nyquist Limit" -STARTLINE}
nyquist true
addUserKnob {7 lacunarity}
lacunarity 2
addUserKnob {7 gain}
gain 0.7
addUserKnob {7 gamma}
gamma 0.2
addUserKnob {26 boundBox l "Bounding Box"}
addUserKnob {41 cube T controlCube.cube}
addUserKnob {26 info l "" +STARTLINE}
addUserKnob {26 notice l "" +STARTLINE T "Jesse Spielman, 2015"}
addUserKnob {20 Profile}
addUserKnob {41 lut l "" -STARTLINE T profile.lut}
}
BackdropNode {
inputs 0
name BackdropNode1
tile_color 0xdeb88701
label Controls
note_font_size 42
xpos 1875
ypos 92
bdwidth 412
bdheight 298
}
BackdropNode {
inputs 0
name BackdropNode2
tile_color 0xdeb88701
label Out
note_font_size 42
xpos 1961
ypos 667
bdwidth 197
bdheight 304
}
Input {
inputs 0
name Shape
xpos 2016
ypos 168
}
Dot {
name Dot21
xpos 2050
ypos 228
}
Dilate {
channels alpha
size {{-parent.Blur2.size i}}
name Dilate1
xpos 2016
ypos 258
}
Blur {
name Blur2
xpos 2016
ypos 310
}
NoOp {
name shapePipe
xpos 2016
ypos 357
}
set N243d3200 [stack 0]
Group {
name Slice_9
selected true
addUserKnob {20 User}
addUserKnob {3 id}
id 9
}
Input {
inputs 0
name shape
}
set N1c666400 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c666400
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
add_layer {cloudbox cloudbox.matte}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.2959999999999998"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_8
addUserKnob {20 User}
addUserKnob {3 id}
id 8
}
Input {
inputs 0
name shape
}
set N1c6a3900 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c6a3900
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.5679999999999998"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_7
addUserKnob {20 User}
addUserKnob {3 id}
id 7
}
Input {
inputs 0
name shape
}
set N1c6f8f00 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c6f8f00
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.7920000000000001"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_6
addUserKnob {20 User}
addUserKnob {3 id}
id 6
}
Input {
inputs 0
name shape
}
set N1c722400 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c722400
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.9440000000000001"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_5
addUserKnob {20 User}
addUserKnob {3 id}
id 5
}
Input {
inputs 0
name shape
}
set N1c75b900 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c75b900
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 1.0"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_4
addUserKnob {20 User}
addUserKnob {3 id}
id 4
}
Input {
inputs 0
name shape
}
set N1c7a4f00 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c7a4f00
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.9440000000000002"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_3
addUserKnob {20 User}
addUserKnob {3 id}
id 3
}
Input {
inputs 0
name shape
}
set N1c7d6400 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c7d6400
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.792"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_2
addUserKnob {20 User}
addUserKnob {3 id}
id 2
}
Input {
inputs 0
name shape
}
set N1c827900 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c827900
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.568"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_1
addUserKnob {20 User}
addUserKnob {3 id}
id 1
}
Input {
inputs 0
name shape
}
set N1c874f00 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1c874f00
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.296"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
push $N243d3200
Group {
name Slice_0
addUserKnob {20 User}
addUserKnob {3 id}
}
Input {
inputs 0
name shape
}
set N1cae6400 [stack 0]
Shuffle {
red off
green off
blue off
alpha off
name Shuffle1
}
Noise {
size {{parent.parent.size}}
zoffset {{parent.id*parent.parent.zMult+parent.parent.animationOffset}}
octaves {{parent.parent.octaves}}
nyquist {{parent.parent.nyquist}}
lacunarity {{parent.parent.lacunarity}}
gain {{parent.parent.gain}}
gamma {{parent.parent.gamma}}
center {1024 778}
name Noise1
}
Multiply {
value {{parent.parent.alpha}}
name Multiply1
}
push $N1cae6400
Merge {
inputs 2
operation mask
bbox A
name Merge1
}
Shuffle {
in alpha
out cloudbox
name Shuffle2
}
Card {
translate {{(parent.parent.controlCube.cube.x+parent.parent.controlCube.cube.r)/2} {(parent.parent.controlCube.cube.y+parent.parent.controlCube.cube.t)/2} {(parent.id/parent.parent.numSlices)*(parent.parent.controlCube.cube.f-parent.parent.controlCube.cube.n)+parent.parent.controlCube.cube.n}}
rotate {0 0 {"parent.id * parent.parent.twist"}}
uniform_scale {{"parent.parent.cardScale * 0.0"}}
name Card1
}
Output {
name Output1
selected true
}
end_group
Scene {
inputs 10
name cloudFormation
xpos 2026
ypos 766
}
Output {
name Output1
xpos 2016
ypos 904
}
ColorLookup {
inputs 0
lut {master {curve C 0 x0.5 1 0}
red {}
green {}
blue {}
alpha {}}
name profile
xpos 2157
ypos 235
}
Cube {
inputs 0
display wireframe
render_mode off
rows 1
columns 1
cube {-2 -2 -2 2 2 2}
name controlCube
xpos 2485
ypos 843
}
end_group
push 0
ScanlineRender {
inputs 3
shutteroffset centred
motion_vectors_type distance
name ScanlineRender2
selected true
xpos 563
ypos -110
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment