The BuddySystem

Is a free suite of Nuke tools & scripts, designed to assist with some of the most common tasks a compositor runs into everyday


I’ve designed this system over the years, based on my experiences as a comp supervisor and HOD working in Animation. Each one targets a fundamental task, and tries to make doing that task intuitive, fast, and easy enough for anyone to pickup, while still being flexible enough for more advanced users

Features

  • A shared design philosophy, which helps artists that learn to use one feature, quickly pick up the others

  • Easy to use at the base level, but also support advanced options for more involved tasks

  • Names are both descriptive and unique. Do you need to place a card in 3D? Use the CardBuddy! Can't remember the name of that tool? Tab search for "Buddy" and see the whole suite of tools

  • Quality of life features, that combine what would normally be done with many nodes, or multiple scripts, into one

  • Documentation outlining features, user tips and more

  • Scripts to boost pipeline and workflow

  • Calibratable per project/render env

  • Production tested


Download the full BuddySystem, including all the scripts & tools here!

Or scroll down to find the docs, Install Guide, Version History, Hotkey Cheatsheet, FAQ/Bug Reporter & more!

About

NodeGraphBuddy

Designed to make working in the Node Graph faster, easer and generally more fun!

  • Manage Writes

  • Adjust Backdrops

  • Create Nodes

  • Have Fun!

Features

  • Scale Nodes

  • Align Nodes

  • Distribute Nodes

  • Mirror Nodes


MaskBuddy

Create multiple masks with Position/PRef & Normal data, with a variety of 3D shapes

  • 3D transform controls

  • Built in edge cleanup

  • Simplified AOV list

  • Calibration controls

Features

  • Multiple shapes at once

  • Preview image

  • Many shape types

  • Falloff options


DepthBuddy

Create 3D ramps in any direction with Depth/Z & Position/PRef data

  • Optional axis limits

  • Built in edge cleanup

  • Simplified AOV list

  • Calibration controls

Features

  • Preview image

  • Works for depth or pos

  • Falloff options

  • Transform controls


CardBuddy

Place 3D cards in world position & automatically generate holdouts

  • Point clouds

  • Other geo types

  • Simplified AOV list

  • Calibration controls

Features

  • Preview image

  • 2D to 3D placement

  • Holdout options

  • Camera projections


ProjectionBuddy

Project images into World Position/PRef to replace textures, screens or create complex masks

  • 3D transform controls

  • Built in edge cleanup

  • Simplified AOV list

  • Calibration controls

Features

  • Preview image

  • 2D to 3D placement

  • Masking options

  • Sticky projections


ReflectionBuddy

Project images into Normals/NRef to place eye pings, textures, or create stylized reflections

  • 3D transform controls

  • Built in edge cleanup

  • Simplified AOV list

  • Calibration controls

Features

  • Preview image

  • 2D to 3D placement

  • Masking options

  • Sticky projections


AnimBuddy

Generate animated curves based on Random, Sine, Sawtooth, and many other types of mathematical patterns

  • Mix Curves into Advanced ones

  • Find expression linked nodes

  • Make camera shakes

  • Drive random colours

Features

  • Multiple curves per node

  • Adjust curves easily

  • Many curve types

  • Animate in/out


Setup / Installation


Install

Compatibility

Nuke: 11.0 or higher

OS: Linux, Windows

For Personal Use

1) Download, extract and place the entire BuddySystem folder in your .nuke directory. This folder may be hidden, you can use the view options of your OS to unhide it

2) Add these two lines you your menu.py file. It should be in the same .nuke folder, but if it isn’t you can make a text file with the same name and .py file extension.

If your menu.py already has the line import nuke, you can ignore that one

import nuke

nuke.pluginAddPath('./BuddySystem')

3) Launch a new version of nuke and you will see the NodeGraphBuddy scripts in the BuddySystem icon on the tool bar

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

Modifying Hotkeys

If you don’t like the default hotkeys, or they conflict with ones you already have, you can modify them in the BuddySystems menu.py file. Look for the hotkeys near the end of each buddySystem.addCommand() line

Removing Scripts

If you already have a similar script, or don’t need one of them, you can comment that part out in the BuddySystems menu.py file.

Hotkey Cheatsheet

Here is a list of all the BuddySystem hotkeys, their function, and if they match any default Nuke hotkeys

None = Not replacing any default hotkeys

(Viewer) = The viewer is using this hotkey as well, but it isn’t replacing it because this script is restricted to the Node Graph

(Modified) = The hotkey keeps its original function, but has new contextual functions as well

(Replaced) = The hotkeys original function was replaced

This is best viewed on PC due to table formatting

Mode Function BuddySystem Hotkey Nuke Hotkey
Scale Biased Increase width Ctrl+Shift+Right Arrow None
Decrease width Ctrl+Shift+Left Arrow None
Increase height Ctrl+Shift+Up Arrow None
Decrease height Ctrl+Shift+Down Arrow None
Increase width & height Ctrl+Shift+Plus(+) None
Decrease width & height Ctrl+Shift+Minus(-) None
Open settings Ctrl+Shift+Home None
Mode Function BuddySystem Hotkey Nuke Hotkey
Scale Uniform Increase width center Shift+Right Arrow Skip Playhead Forwards (Viewer)
Decrease width center Shift+Left Arrow Skip Playhead Backwards (Viewer)
Increase height center Shift+Up Arrow Next input for the B buffer (Viewer)
Decrease height center Shift+Down Arrow Previous input for the B buffer (Viewer)
Increase width & height center Shift+Plus(+) None
Decrease width & height center Shift+Minus(-) None
Mode Function BuddySystem Hotkey Nuke Hotkey
Backdrop Adjust Increase Z order Ctrl+Alt+Shift+Plus(+) None
Decrease Z order Ctrl+Alt+Shift+Minus(-) None
Sort Backdrops by size/zorder Ctrl+Alt+Shift+Z None
Increase Font Size Ctrl+Alt+Shift+Page Up None
Decrease Font Size Ctrl+Alt+Shift+Page Down None
Resize backdrop size to selected nodes Ctrl+Alt+Shift+Asterisk(*) None
Mode Function BuddySystem Hotkey Nuke Hotkey
Node Adjust Align/Stack/Match vertically Right Arrow Frame Forwards (Viewer)
Align/Stack/Match vertically Left Arrow Frame Backwards (Viewer)
Align/Stack/Match horizontally Up Arrow Previous node in tree (Replaced)
Align/Stack/Match horizontally Down Arrow Next node in tree (Replaced)
Distribute and align nodes Asterisk(*) None
Distribute and align nodes by cluster Shift+Asterisk(*) None
Align Upstream Page Up Previous layer (Viewer)
Mirror nodes horizontally Ctrl+M None
Mirror nodes vertically Ctrl+Alt+M None
Mode Function BuddySystem Hotkey Nuke Hotkey
Create Create Blur/Backdrop Node Quick B Create Blur (Modified)
Create Blur/Backdrop Node Advanced Shift+B Create Blur node in a new branch (Modified)
Mode Function BuddySystem Hotkey Nuke Hotkey
Utils Label Node A View Alpha (Viewer)
Copy With Inputs Ctrl+Alt+Shift+C None
Paste With Inputs Ctrl+Alt+Shift+V None
Paste to Multiple Shift+V None
Toggle Disabled Shift+D None
Nodeoriety - Node Counter None None
Write Node Manager Ctrl+Shift+W None
Mode Function BuddySystem Hotkey Nuke Hotkey
Fun Rotate Nodes None None
Randomize Nodes None None
Caesar Shift None None
Mode Function BuddySystem Hotkey Nuke Hotkey
Tools AnimBuddy Alt+Shift+A None
CardBuddy Alt+Shift+C None
DepthBuddy Alt+Shift+Z None
MaskBuddy Alt+Shift+M None
ProjectionBuddy Alt+Shift+P None
ReflectionBuddy Alt+Shift+R None

Version History

  • Initial public release

Development Goals


To-Do

Below are some of the things I still would like to do, if time permits. If there is something you think would be a nice addition, feel free to reach out!

  • Add more scripts

  • Add more tools

  • Add more fun

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

FAQ / Bug Reporter

Report A Bug

For issues/bugs please provide the following information