About
The AnimBuddy is used to generate animated Curves based on Random, Sine, Sawtooth, and many other types of mathematical patterns. Results can be previewed in the Curve Editor, altered with built in controls, and mixed together to generate advanced curve types
Contents
How To Use
①
Getting Started
Load the AnimBuddy into your comp, and place it near the nodes you want it to affect (you can move it elsewhere later)
②
Curve Types
Use the Type knobs in each curve section to choose what type of animation you want to use for each. The AnimBuddy can generate 3 unique curves per node, these can be used across different nodes individually, or to drive a single knobs XYZ, or RGB values. The 3 curves can also be mixed together into a 4th, but more on this later in the advanced section
③
Curve Preview
Open the AnimBuddies Properties Panel, and Nukes Curve Editor panel. We will use the properties panel to generate and adjust our curves, and the Curve Editor to preview them, as well as perform advanced editing later on
④
Seed & Regen
When using the Random or Noise curve types, use the Regen button to generate a new random seed value. This will randomize the resulting curve, and stop it from being the same every time you use an AnimBuddy. Conversely, if you find a Seed value you really like, you can also type that into the Seed knob to always have it
⑤
Amplitude
Amplitude acts as a multiplier against your current curves Max/Min values. This means you can think of it like a percentage of your current curve, so if you put it at 0.5, it will halve the height of your curve in both the positive, and negative y axis. It can be very useful for animating a curve in/and out, or changing its value throughout a frame range to suit your needs
Amplitude is limited between 0-1 at the slider level, if you want your curve Result to be between 67 and -33, the Max/Min value sliders are designed for this
⑥
Wave Length
Use this knob to determine the spacing between each peak and valley in your curve, the collective result can also be thought of as the Frequency of the curve
⑦
Max/Min Values
Use these knobs to change the maximum, and minimum value of the resulting curve. Unlike the Amplitude knob above, these allow you to determine the highest, and lowest possible values in the resulting curve independently. This means you can set the Max to 67, and the Min to -88 much easier than with Amplitude. Using these will also free up Amplitude to be used as an overall animator, as intended
⑧
Lift/Lower
Use this knob to lift or lower the overall curve in the y axis. This can be handy to adjust a good curve into a better result, without changing anything else about it
⑨
Time Offset
Use this knob to offset the overall curve in the x axis (time). This can be handy to adjust a good curve into a starting position, without changing anything else about it
⑩
Framehold
Use this knob to add a framehold to your curve, for example a framehold value of 2 will hold the curve from changing on every other frame, and create a stepped like pattern
⑪
Link Results
Expression link the AnimBuddies Result knobs, to any knob, on any standard nuke node, to apply the resulting animation to that knob
There are a few ways to expression link, as outlined in this documentation, but the easiest way is to hold Ctrl/Cmd+drag the Result knob, that has the values you want to use, on top of the knob you want to drive with that animation, then release your mouse. The Knob will then turn blue, indicating it has an expression link, and a green line will be drawn between the AnimBuddy, and the other node
Advanced Options
Curve Mixing
In the Mix section, at the bottom of the AnimBuddy, you can use the 3 ABC sliders to determine the overall contribution of each curve into a 4th mixed curve. These mixed curves can be very complex as a result, far more so than the ABC curves on their own, and is great for creating advanced animations that don’t appear to repeat, and feel more dynamic and natural
This section also has it’s own dedicated Amplitude slider to animate this curve in/out, or change it’s intensity overtime
Blips & Bloops
The Blips and Bloops curve types have an extra slider called Blip/Bloop Length respectively. This controls the duration of each blip/bloop. These curves are intended to be used for things like flashes or pulses that have a quick on/off, and then a much longer pause between them
Custom Curve
The Custom curve type is a null curve, that you can inject your own data into. This is intended to be used in conjunction with the other two curves, and the Mix section. For example if you have a curve from another DCC that needs to be randomized, you could copy it into the Custom curve knob, and mix it with a random curve
Show Linked
Beside each Result knob, there is a Show Linked button, which will search Nuke for any nodes that are expression linked to that Result, and show them in the node graph
Tips & Tricks
Blinking Lights
Blips and Bloops curves are great for creating repeating mechanical blinking lights, with a pause between each blink
Random Colors
By expression linking the 3 ABC curves to a grade nodes gain/mult RGB values you can randomly change the colors of an input. This is especially random when you set them to different seeds on random/noise curves, to make sure there are no similarities between the 3 before linking
Shaking
Like above, the 3 ABC curves can be used to drive the XYZ of a 3D camera, or the XY of a transform node to generate a camera shake like effect
Setup / Installation
Install
*Do not convert to a Gizmo, will only work as a group*
For Personal use. Place the downloaded .nk file into your ToolSets directory. If the ToolSets folder doesn’t exist you can create it. After doing this, and restarting nuke, the Tool will show up when you tab search in nukes node graph for its name
You can read more about this process in the official docs here
Or in my tips and tricks doc here
For Pipeline use. Always speak with your studios Pipeline support staff before trying to install anything. Every studio is different, but you’ll likely need to ask them to place the file into a central tool repository so everyone can access it
Development Goals
To-Do
Below are some of the things I still would like to do with the tool, if time permits. If there is something you think would be a nice addition, feel free to reach out!
Add more curve types
Add support for generating animated 2D shapes, like circles
Contributors
Thanks!
Below are some of the people who helped develop this tool through direct support or indirectly via online resources
Mark Rodziewicz
Sheldon Lisoy
Adam Dent
Chris Fourney
Pablo Holcer
FAQ / Bug Reporter
Frequently Asked Questions
-
The buddy tools use python scripts to dynamically update their internals based on user input, and this doesn’t work well with the gizmo format. You can try to convert them to a gizmo, and it might work depending on the tool, but it’s highly recommended to keep them as group nodes. If you are looking to TAB create the buddy nodes they can be save as ToolSets https://learn.foundry.com/nuke/content/reference_guide/toolsets_nodes/create.html
Report A Bug
It doesn’t have to be a bug, ideas to improve the tool, or words of affirmation are appreciated too!