Noise Curve
Learn how to randomize your curves using expressions controlled by knobs
Random noise as a curve is something I use all the time for all sorts of things. Here is an expression which uses Nuke's noise function to generate random noise along a curve. I use this to drive random flicker, luminance shifts, transforms or even camera float or film weave. Here, Nuke's noise function (noise (x,y,z)) is being called via some User Knobs.
Noise Curve using different settings.
There’s control over Frequency, Seed, Amplitude, Time Offset and Amount.
Here's the code. Since it's only using the noise function, it should work for older versions of Nuke such as 5.x as well as recent versions like 6.0v5.
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 |
set cut_paste_input [stack 0]
version 6.0 v5
push $cut_paste_input
Multiply {
value {{"(1*(noise((frame+(timeOffset*100))*freq, (seed*5), 0)*2-1)*amp+(amp*.7))+amount" i}}
maskChannelMask -rgba.alpha
name NoiseCurve
selected true
xpos 61
ypos -62
addUserKnob {20 parameters l Parameters}
addUserKnob {7 freq l Frequency}
freq 0.15
addUserKnob {7 seed l Seed t "\t\t\t\t\t\t" R 0 100}
seed 2.5
addUserKnob {7 amp l Amplitude}
amp 0.5
addUserKnob {7 timeOffset l "Time Offset" R 0 100}
addUserKnob {7 amount l Amount}
amount 0.75
addUserKnob {26 ""}
addUserKnob {41 channels_1 l channels T Noise.channels}
addUserKnob {41 value_1 l value T Noise.value}
addUserKnob {26 "" l mask T ""}
addUserKnob {41 maskChannelMask_1 l "" -STARTLINE T Noise.maskChannelMask}
addUserKnob {41 maskChannelInput_1 l "" -STARTLINE T Noise.maskChannelInput}
addUserKnob {41 inject_1 l inject -STARTLINE T Noise.inject}
addUserKnob {41 invert_mask_1 l invert -STARTLINE T Noise.invert_mask}
addUserKnob {41 fringe_1 l fringe -STARTLINE T Noise.fringe}
addUserKnob {41 unpremult_1 l "(un)premult by" T Noise.unpremult}
addUserKnob {41 invert_unpremult_1 l invert -STARTLINE T Noise.invert_unpremult}
addUserKnob {41 mix_1 l mix T Noise.mix}
}
|