Written Tutorials
Nuke Node decorators and indicators
(Image courtesy of Nick Joseph)
Using Eclipse with Nuke
This tutorial will outline the steps to be taken to make Eclipse your Nuke IDE. Though the Nuke script editor has been improved recently, it's still worth looking for alternatives. Eclipse adds lots of extra features like auto completion, syntax checking or source exploration to make daily tasks easier to accomplish.…
Noise Curve
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.…
Working with Pipe Numbers
There are a couple of things to keep in mind when creating groups (and subsequently gizmos), if you want to maintain full control over the way the input pipes behave and thus how the flow of data in the tool is handled:
Input name = pipe name.…
Camera Trigonometry
Here is a scribble for some camera trigonometry.
Keep in mind that if you have an image / image sequence that corresponds to the camera (i.e. match move), then the horizontal aperture and vertical aperture need to reflect the image aspect, otherwise your render won't match the scans.
10 tips to optimising Nuke and creating efficient workflows
1. B PIPE
Keep every layer operation piping in to the B pipe stream (your main branch) - this means, among other benefits, you can dissable the merge and the image stream will still flow.…
RenderManager - BackBurner
Introduction
This tutorial will lead you through configuring and using the nuke2backburner submission script.
It was initially developed by Sebastian Elsner at RiseFX. For the purpose of this tutorial i have slightly
modified the original script to ease configuration and setting of default values within the script.
Here is the changelog from the script documenting the things i have changed.…
RenderManager - RenderPal
Introduction
This article will teach you how to successfully setup RenderPal with Nuke, so you can build your own Nuke farm quickly and easily. But first lets consider why you would or woudn't want to use RenderPal as your render manager.…
Render Manager - Alfred
ALFRED
Let’s start by the end.... To work, eg launch Nuke render jobs, Alfred needs to deal with some particular TCL script (alfredscript) describing a subset of commands with reserved and specific keywords. This script is ran by Alfred and the different commands are sent to different render boxes.
We are using python commands in the alfredscript.…
Developing Nuke Plugins on Windows
Now that the Nuke distributions come with a standard Visual Studio solution to be used as a template for your own Plugins, it has become quite easy to set up your dev environment.…
Understanding UVMaps - Warping with STMap - Pt. 1
Here at RISE we started using UVMaps to apply camera lens distortion to matte paintings, cg renders and all sorts of footage when there was no (or at least no cheap) way to get the lens distortion value from your favourite 3D tracking application into Nuke.…
RenderManager - Qube!
In this short tutorial, I'll show you how to talk to the Qube! API within the Nuke interface for job submission. I will assume that you already have a running Qube! installation and that it is already capable of rendering Nuke jobs.…
Additive Keyer
Intro
This is not a keyer, as it does not create a matte that is of use. It is more of a 'relative mixer' or image blending tool. It is very good for separating translucent fine details (such as motion blur, dust or hair) that a keyers with mattes might have difficulties extracting.…
Shake to Nuke, a transition guide - Part I: The Interface
Changing a piece of software you work with on a daily basis can be a frustrating experience at first.…
Understanding UVMaps - Warping with STMap - Pt. 2
Following the first tutorial for STMaps this second tutorial should give you some idea what else appart from recreating precise lens distortion warps you can do in Nuke using the same set of tools.…
Creating a 3D image plane
Many people wonder how to line up a 3D Card in away that it fits the render camera's frustum perfectly and thus it's texture is unaltered in the render.…
Shake to Nuke node guide
This is a reference guide that I wrote in late 2007, and then posted on VFXTalk in about November of that year. As such, it's more based around Nuke 4.8, and I'm sure there's a good amount that probably should be updated.…
Shake to Nuke, a transition guide - Part II: Color Management
2. Color management in Nuke
In compositing, we often need to combine multiple elements from different sources (film scans, digital photographs, CG renders, digital video…).…
Shake to Nuke, a transition guide - Part III: Data Flow
3. Data flow
Visual indicators:
Both Shake and Nuke are node-based compositing packages, so if you're used to working with Shake, you won't have too much trouble building and interpreting a script in Nuke. However, Nuke does provide a few more visual cues than Shake as to what's happening on each node.…
Shake to Nuke, a transition guide - Part IV: Operators (nodes)
4. OPERATORS (nodes)
In this last part of the Shake to Nuke transition, I'll go through the different categories of nodes in Nuke, and outline some of the biggest differences you may find coming from Shake.
For a full description of the available operators/nodes available in Nuke, the user manual is the best reference available.…
Using the nuke.math Python module to do Vector and Matrix operations
Nuke has its own python math module (nuke.math) that provides support for Matrix, Vector, and Quaternion classes, and useful functions to operate with them.
If you need to do any maths involving vector operations in Nuke (like adding or substracting vectors, transforming vectors with transformation matrices, calculating vector reflections, inverse-projecting a 3d vector into 2d screen coordinates, etc), then the nuke.math…
Render Manager - Deadline
Written by Mike Owen, Senior TD, Burrows Nvisage - www.burrows.info
In this tutorial, I'll show you how to submit Nuke jobs to the Prime Focus (aka Frantic Films VFX) render management software known as "Deadline".…
Launching Nuke from the command line
I decided to write this simple and quick tutorial on how to Launch NukeX from the terminal since it took me a while to figure it out. I am not very good with command-lines which is why it took my some time to figure this out. hopefully this will save you a lot of time.…
How to build an automatic Write node
Generally, most of the information needed for the output of a Nuke script is contained in it's name. We can reduce manual name-changing on behalf of comp artists and simultaneously increase consistency by creating a Write node that creates (and updates) it's own output path by parsing the script's name.…
Setting up Prman for Nuke 6.2 launched from the gui in OSX
Some people are having issues getting Prman working with Nuke 6.2. So this is a basic tutorial on setting up the proper environment variables you need. This only works when Nuke is launced from the gui under osx. I have a separate tutorial for getting it to work when you launch Nuke from the shell.
1.…
Setting up Prman for Nuke 6.2 launched from the shell in OSX/Linux
Lots of people are having issues getting Prman working with Nuke 6.2. So this is a basic tutorial on setting up the proper environment variables you need for launching Nuke from the shell under osx & linux.
Bash Shell setup
In a text editor create the file ".bash_profile" in your $HOME directory (/Users/yourUserName under osx or /home/yourUserName under linux)
1.…
Measuring Plugin Speed
This was recently discussed on the nuke-dev mailing list and some approaches were new to me, so I thought I would add all answers here:
* Use the -P switch to pute nuke into performance mode
* Have a test .nk (e.g Read->MyNode->Write) and compare times how long it takes to render on the command line with "nuke -x"
*…
Rescuing Broken Nuke Scripts
Especially when using the Roto/Paint nodes it sometimes happens that scripts get broken. You then get messages like: "Missing close brace" or "Variable XY not defined" when opening files.…
Animating a sky in Nuke based on luminance
This is a little trick which I’ve been using for a few years.…
Create Deep Images for Nuke in Maya/Prman
Create Deep Images for Nuke in Maya/Prman
Nuke's deep implementation can currently only uses .dtex files rendered out of Prman 15.2 or newer. In this example I will show you how to generate them out of Maya & Renderman Studio.
Here is my scene full of 3d geometry Spheres
Render Settings
1. Goto your "Render Settings" in Maya
2.…
The lens distortion model in the Card node explained
(The following information comes courtesy of one of the research engineers at the Foundry).
The Card node implements the PtGUI lens model.…
Colour Smear for Nuke
This tutorial is from http://richardfrazer.com/tools-tutorials/
Smear out the edge colour of your A plate to create better soft edges. Works by blurring and un-premultiplying your image.…
The 'random' expression
Here you are a brief explanation of all controls in Nuke's random expression.
This is the full function 'by default':
(random(1,frame*1)*1)+0
or just simplified: random(1,frame)
This creates a curve containing random values between 0 and 1.…
Concatenation of transforms in Nuke
A fairly common question among Nuke users is whether transformation nodes concatenate in Nuke, which nodes do and don't, and how can one tell.
The subject can be particularly confusing for artists who had used Shake before and liked the way it gave a visual clue of nodes that were concatenating.…
(sl)Edge Hammer to treat light wrap
The original version of this article can be viewed here
Here’s a quick tip to help integrate composites where light wrap is causing a problem.…
Reassign keyboard shortcuts in Nuke6.3v8 -- now it's simple!
Now that Nuke 6.3v8 is out, the Foundry has given us a simple way to reassign keyboard shortcuts for items that are already in menus. This used to be rather complicated, but now it's easy. Here's how.
As an example we'll reassign the Posterize node to the control-p shortcut.…
Stepping through Nuke python code using Wing IDE: Oooooh, does it work?
Troubleshooting python scripts in Nuke can be painful, especially when you are used to working in Visual Studio using breakpoints and stepping through code. So I was excited when Wing IDE announced that their latest version (4.1.8) supported debugging in Nuke. I downloaded the free trial and gave it a shot.…
Compositing Practices 101
Head over to my website sachadjordjevic.com and read the article here
Cheers compers!
- Sacha Djordjevic
Create motion blur effect using the motion vector pass
In this tutorial, you will create motion blur effect using the motion vector pass rendered from Maya and VectorBlur node. Figure 1 shows the input image and motion blur effect applied to an element in the scene.
Figure-1
Step –1
Navigate to http://www.mediafire.com/?k5288w91eeo16 and download file to your hard drive. Next, extract the contents of the file.…
Pull a key using the IBKColor and IBKGizmo nodes
In this tutorial, you will pull a key using the IBKColor and IBKGizmo nodes. Figures 1 displays the input green screen image and final composite, respectively.
Figure - 1
Step – 1
Navigate to http://www.hollywoodcamerawork.us/greenscreenplates.html and download Hair Detail clip. Next, extract content of zip file to your hard drive.
Step – 2
Start a new script in Nuke.…
Working with deep images in Nuke 7
Nuke's powerful deep compositing tools set gives you ability to create high quality digital images faster. Deep compositing is a way to composite images with additional depth data. It helps in eliminating artifacts around the edges of the objects. Also, it reduces the need to re-render the image.…
Working with ZDefocus Node in Nuke 7
Part - I
The ZDefocus node is a major upgrade to the ZBlur node. The ZDefous node is used to blur an image according to the depth map channel and gives you ability to simulate blur using depth of field. This node splits the input image into layers. All pixels have the same depth value within a layer.…
Debugging python code IN nuke with Eclipse (step through like a pro!)
Introduction
This tutorial is intended for technical artists or developers who already know how to run Python scripts in Nuke.
What is debugging? If you already know, skip on ahead.
Debugging offers you the ability to pause code execution and interact with a live session.…
Accessing Nuke’s Write node advanced Compression Settings dialog with Python.
There are a couple different ways of working with the Compression Settings panel for setting up a Quicktime in Nuke’s Write node.
Setting fps, quality & keyframe rate.
Nuke adds 3 additional hidden knobs: ‘fps’, ‘quality’ & ‘keyframerate’ to the Write node after selecting ‘MOV’ as the file type.…
Expression Node 101
Introduction The expression node in nuke is a bit of a mystery for most people, but it's incredibly powerful.…
Creating a custom motion vector blur using trackers.
The original version of this article can be viewed here
As a compositor, one of our daily tasks is to integrate plates of elements (dust, smoke, fire, water etc.) into our shots. Rarely do we get plates that were filmed specifically for the exact shot we are working on, so we rely on libraries of pre-filmed (stock) elements.…
Controlling the ShuffleCopy through Python
The shuffleCopy node might be one of the hardest things to grasp for new Nuke users. Throw a bit of python at it and I bet we could confuse even a seasoned user.
Lets try a bit of code and see what we get.…
calculation for the transformation in world space
Matrix is very powerful. Especially "World matrix" is very useful to "bake animation" for exporting to the other softwares. There is pretty nice tutorial "Enter the Matrix Knob" in this nukepedia.com. Well, "Camera" node, "Light" node and "Axis" node have this "World matrix" knob. And "TransfromGeo" node doesn't have it in its property.…
calculation for the transformation in world space
Matrix is very powerful. Especially "World matrix" is very useful to "bake animation" for exporting to the other softwares. There is pretty nice tutorial "Enter the Matrix Knob" in this nukepedia.com. Well, "Camera" node, "Light" node and "Axis" node have this "World matrix" knob. And "TransfromGeo" node doesn't have it in its property.…
Keyframe Reduction script for Nuke
The original version of this article can be viewed here
The problem
I came across this issue when importing tracking data from PFTrack into Nuke, but it is equally relevant to tracking data create with a nuke Tracker node, or any animation data that gets "baked".…
Creating fast water reflection
Creating realistic water reflection
Preview:
When we were working on The Admiral, it become clear very soon, that we will have to deal with water reflection. As obvious, ocean reflection is quite complex, and although rendering reflection in Arnold is quite fast, it will never catch up with speed and efficiency of doing such a thing at compositing phase.…
Rebuilding bad frames using OFlow
The original version of this article (with video) can be viewed here
THE PROBLEM
This is a tool I recently built for helping fix footage that was shot on an octocopter. However, it could equally be used for any situation where you have footage that has good frames interspersed with bad frames i.e.…
Auto Cleanplate for Nuke
The original version of this article can be viewed here
I was recently watching a demo of the Remove tool in Mocha Pro, which is a very powerful way of cleaning a foreground object out of the background of your plate.…
Using init.py to dynamically change a plugin path based on the version of Nuke that is launched
We purchased a plugin for our Nuke pipeline but it was a different file for Nuke 8{jcomments on}{jcomments off} and 9. Unfortunately, the plugin was named the same for both versions meaning we couldn't just drop two different files in the plugins folder and have it sort out automatically.…
Roto Tip
Easily clean up difficult tracking markers without paint
When you work in a small company you have to constantly come up with fast solutions for tedious tasks, in this case tracking markers. I developed this workflow while working on a 1000+ frames plate where a marker was constantly intersecting with the actress's hair.…
Easily remove tracking markers
Easily remove tracking markers
When you work in a small company you have to constantly come up with fast solutions for tedious tasks, in this case tracking markers. I developed this workflow while working on a 1000+ frames plate where a marker was constantly intersecting with the actress's hair.…
Creating VFX for Michiel de Ruyter
Introduction
In this article for today, we will see step by step way how I have created one of the iconic shots for movie The Admiral / Michiel de Ruyter. The entire shot creation took 2 weeks.…
Expand Edge
hello my name is matt!
one day a friend showed me this gizmo and today I will explain how it works :D
It is similar to colour smear that you can find here: http://www.nukepedia.com/written-tutorials/colour-smear-for-nuke/
I really recommend looking at the colour smear tutorial to better understand how it works
the idea is the same but instead of using blur and…
Parsing nuke.hotkeys() for Hotkey Viewer
This is my approach to make my Nuke Hotkey Tool.
https://vimeo.com/48127833
nuke.hotkeys() returns text.
split '\n' and print repr()
Nuke has several menu 'Nuke', 'Nodes', 'Pane', 'Viewer' etc.
menuItem is actual item under menu and menuItem can have shortcuts.
looks like menuitem have '\t' and after '\t' hotkeys if exists.
menu and menuItem hierachy is based on spaces.…
Parsing nuke.hotkeys() for Hotkey Viewer GUI
For GUI in Nuke, we need to .ui file using QT Designer.
There is one I already made for typical keyboard but you can download it from my github and modify.
https://github.com/hslth/NukeHotKey
I want our own pushbutton so let's promote it to other name
I named it HotKeyButton.…
Restore any plate's original grain | Edited
How to restore the plate’s original grain after pulling a key
This technique is meant for instances where you might want to use a keyer’s pre-multiplied output instead of copying the finished alpha back to the original plate.
Most of the time we want to remove the noise/grain from our plates before attempting to a pull a key.…
simple clean screen using IBK colour with un-premult
Many of us using stack of IBK colour node with incremental of values to get clean Blue or Green screen.
Example below image:
Most cases 1 IBK color node will give good result. But in some shots we ended up stacking multiple IBK color node to get the clean screen(plate).…
Non-destructive clean-up work using difference grain & color stabilization technique
In this short tutorial I will share my clean-up technique/approach that I use on a daily basis.
We will do a simple clean-up work – removing a “X20” sign from the camera.
Ideally you would want to affect only your clean-patch and not affect original plate in any way.…
Blackmagic Design LOG inside of Nuke
In this guide I hope I can help to better utilize Blackmagic Designs LOG-formats inside of Nuke.
For this to work, we need a custom OCIOconfig. All default colourspaces will be maintained as well.…
Buttons to disable / enable nodes in batch
How to use:
Copy the names of the nodes you need to disable, paste it in the "nodesToDisable" text box, separate them by comma.
Node:
set cut_paste_input [stack 0]
version 12.2 v5
push $cut_paste_input
NoOp {
name disableSlowNodes
selected true
xpos 2490
ypos 3615
addUserKnob {20 User}
addUserKnob {1 nodesToDisable}
nodesToDisable OpticalZDefocus,OpticalZDefocus1,VRayDenoiser1,VRayDenoiser2
addUserKnob {22 Enable T "n = nuke.thisNode()\['nodesToDisable'].getValue()\nn =…
Sample colour and fill the whole image
set cut_paste_input [stack 0]
version 12.2 v5
push $cut_paste_input
Expression {
expr0 "\[sample this r colourPicker.x colourPicker.y sampleSize sampleSize]"
expr1 "\[sample this g colourPicker.x colourPicker.y sampleSize sampleSize]"
expr2 "\[sample this b colourPicker.x colourPicker.y sampleSize sampleSize]"
expr3 1
name sampleColour
selected true
xpos -155
ypos 588
addUserKnob {20 ColourPicker l "Colour Picker"}
addUserKnob {12 colourPicker}
colourPicker {709 358}
addUserKnob {16 sampleSize}…
Compositing Practices 101 / コンポジット実践 101
>>>> gd2md-html alert: inline image link in generated source and store images to your server. NOTE: Images in exported zip file from Google Docs may not appear in the same order as they do in your doc. Please check the images!
----->
Compositing Practices 101 / コンポジット実践 101
Written by Aleksandar Djordjevic on 16 November 2012.…