Nuke Customisations

This page contains documentation on how to install and use the customisations for nuke made by Daniël van der Kaaden. =Install= Captcha_Server\_USERS\_USER_SETTINGS\NUKE\dotNuke \Users\admin\.nuke =What do the files do?= The icons, gizmos and python folder will be made accesable so they are recognised by python code. So without this the files in those folders won't be found and won't work. Here new defaults are set. For example this file makes that the rotopaint node by default uses all frames instead of a single frame. Note that when there are already plugins installed you don't want to override menu.py but add the contents to the old one.
 * Copy the contents of this folder:
 * Paste and replace in this folder:
 * The init.py file runs before nuke and can set accesable paths and default settings.
 * menu.py changes the nuke interface so that there are buttons and menus for our commands.
 * python folder: This contains python scripts that can be called by a button made in menu.py for example a function to change all bounding boxes to b.
 * icons folder: This contains png icons used for the buttons in the nodes menu. These are also called in menu.py
 * gizmos folder: This contains the custom gizmo files. These files describe a nuke group of nodes that will be imported as a gizmo in nuke.

=Daniel Customs Menubar=

Preset Backdrop
This is a script made by Victor Perez which will let you pick a backdrop preset and then makes a backdrop. You can also use the shortcut cntr+b

Set all boundingboxes to B
This will set all the bounding boxes of the selected nodes to b. In a good workflow most bounding boxes are set to b so this is a big timesaver when using a lot of merges. You can also use the shortcut cntr+alt+shitf+b

Turn read file of on all write nodes
This will turn the read file option off on all write nodes. This is useful to do before sending a nuke script to the farm since the write nodes don't work on the render farm with read file turned on.

Convert All gizmos to groups
A nuke script containing gizmos can't be opened on machines that don't have the gizmos installed. This script changes all the gizmos to groups the script should remain exactly the same, but the gizmos will turn into groups so the script can be rendered on for example a render farm that doesn't have the gizmos installed.

Convert selected gizmos to groups
This will only turn the selected gizmo nodes into groups instead of all the gizmos. =Daniel Customs Nodes Menu=

SourceMatte
A sourcematte is a technique where you sample a piece of the image and dynamically put it over an other piece of the image. Usually to remove something like a tracking marker. inputs: settings:
 * main input: This is where you plug your source.
 * mask: This requires a mask of the thing you want to remove. This should be in the alpha channel. Usually a roto node is connected to this.
 * translate: This moves the source in the x or y axis to select a different piece of the image for the selected area.
 * gain: This is the gain of a grade node within the gizmo. This can be used to fix slight color differences of the patch.

GrainCustom
This is a gizmo that incorporates the normal grain node, but added a mask luminance and a fringe export. Input: Settings:
 * main input: Connect the source that needs grain.
 * mask: Optional input to mask out the grain effect.
 * Size: Grain size of the three colors. This is simply linked to the original grain node used inside.
 * Intensity: Grain intensity of the three colors. This is simply linked to the original grain node used inside.
 * Key: With mask luminance the original image will be composited back based on the luminance key. This way there should be less grain in the bright areas.
 * test key: With this checked an overlay will appear. This helps seeing what the key looks like. Green is and alpha value between 0 and 1, red is 0 and blue is 1. The best key is usually when the black and white point are set in a way that the red and blue color just stop showing up.
 * Then there are grade controls to change the key.
 * The masking options are based on the normal nuke masking options and work the same.
 * Premult: With this checked the source will be premultiplied at the end. This is usually the case since the source in unpremultiplied within the gizmo to make the keying work properly.
 * Export Fringe: This executes a script that duplicates the node, sets the mask to finge, the mask mix to 0.5 and the label to FRINGE. Then this finge copy can be inserted in the b pipe of your script and the mask input connected to the thing that's merged in.

TurbulentDisplace
This is a gizmo to quickly make a noisy displacement in nuke. It's disigned for people familiar with the turbulent displace effect in after effects.
 * amount: This controls the amount of displacement. This is linked to the UV scale attribute on the iDistort within the gizmo.
 * size: This controls the scale of the displacement. This is linked to the noise scale within the gizmo.
 * evolution: Changes the displacement pattern. This is liked to the z slider of the noise within the gizmo.
 * blur: Blurs the noise to get a more smooth distortion.
 * detail: The higher this number the more small noisy pieces will occur. This is linked to the lacunarity of the noise in the gizmo.
 * gain and gamma are linked to the gain and gamma of the noise.
 * format: This is by default the project format, but if you want to distort a source with a different format you can change it here.

=Hidden Optimalisations= There are some extra things that change when replacing the .nuke files with the custom files.

FrameHold
The FrameHold in nuke is replaced by a gizmo that contains a simple framehold but adds a button to set the frame to the current frame. Also when the framehold is made the frame will be set to the current frame. This gizmo sits in the gizmos folder and is called by a command in the danielCustoms.py file in the python folder. In menu.py the normal framehold command is overwritten by this command.

Roto and Rotopaint linking to Tracker
The commands for creating a Roto or Rotopaint are overwritten in the menu.py file by a command in the danielCustoms.py file in the python folder. This command will still make a Roto or Rotopaint ,but when a Tracker node is selected and a Roto or Rotopaint is made the root transform of the Roto or RotoPaint will be linked to the transform of the Tracker. This is nice when you want a mask or patch to follow a track and you don't want to link it by hand.