AnimBuddy Documentation

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

  • 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!

Previous
Previous

ReflectionBuddy

Next
Next

More to come!