RenderNode v1.0


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Davide Curletti
The RenderNode was designed to simplify, standardize and automate the rendering process for small-to-medium sized vfx teams working in fast-paced environments.
Requirements:
8.0, 7.1, 7.0 or later
Linux, Mac, Windows
27 Jul 2014
305

**The link to the init.py file is here: init.py

Overview-

The RenderNode is essentially a nuke group node whose purpose is to simplify the rendering process within nuke by attempting to replace the nuke write node. It was created in a highly structured, fast-paced environment for a fluctuating team of around 6 individuals. Automation, reliability and flexibility were crucial for what was a fairly complex, large-scale project. The node does require users to follow a few guidelines and do a very small amount of initial customization, but in return offers users with little or no python experience the ability to automate their entire rendering process.

General Guidelines (MUST READ)-

The RenderNode works in a relative manner, which means operating system or script environment variables don't affect it; it simply dissects the filepath of where the script is saved and it goes from there. Because of this, it is very important to follow a few guidelines.

  1. The most important, and strict, aspect of the RenderNode is the nuke script's filename convention. It must have a sequence name, a shot number, a descriptor and a comp version, and these aspects must be separated with an underscore. ie. ABC0123_comp_v001 where ABC = sequence name, 0123 = shot number, comp = descriptor, v001 = version number. It is also possible to change the lengths of these items, ie. if your shot number length is only 3 or the sequence name has 4 letters, but that is explained in more depth in the init.py file.
  2. The RenderNode destination folder, or where you want your renders to be outputted to, must be present within the shot's directory structure. The default folder name it searches for is Output, but you can change that by simply altering the variable inside of the init.py file (instructions and examples will be present). The searching algorithm has a few fail-safes (so that it doesn't freeze Nuke by continuously searching for an inexistent folder), with the most important being: it stops when it finds the shot's top-most folder (ie. if the shot is ABC0123_comp_v001, then it will know not to look outside of folder ABC0123).  Here is a diagram illustrating the way the algorithm searches for the output folder: Search Pattern
  3. Set your global frame range settings before you start working on your shot. In v1.0 the RenderNode uses the global frame range when rendering the Quicktimes and when importing the DPXs back into Nuke. For those of you that will be adding slate nodes within the RenderNode, there is a startFrame variable inside of the init.py that allows you to render a frame before your first global frame, that way it includes your slate in the render.

Quick start guide (local , single user):

  1. Download the respective files: RenderNode_v1.0.nk and init.py.
  2. Open the init.py file with a text editor (notepad++, sublime Text, etc.) and make any changes you feel necessary to the available parameters. Detailed instructions and examples are inside of the init.py file.
  3. Copy ALL of the contents of the downloaded, and edited, init.py file and paste it into your respective init.py file (the one Nuke created for you when you installed it). Default paths for these files are usually: Windows- C:/Users/UserName/.nuke ; Mac- /Users/UserName/.nuke ; Linux: probably similar to the Mac. If you can't find it, open nuke, create a Script Editor pane and input: nuke.pluginPath(). It will show you were the files are located, you might need to enable seeing hidden folders within your operating system.
  4. Open the RenderNode_v1.0.nk file and take a look inside of the RenderNode (by clicking the button with an S on it, just to the left of the question mark in the top right corner of the properties panel) and add or remove any nodes you see fit. WARNING: re-arranging the flow of the nodes is not recommended, as well as deleting the Write nodes or Controller node. WARNING 2: Make sure to NOT try rendering inside of that script, it will crash Nuke since the script naming convention does not follow the guidelines.
  5. Once you have customized the RenderNode to your liking, make sure to save it as a Toolset.
  6. Enjoy.

Setup for an online, team environment-

  1. Follow instructions 1-4 of the Quick Start Guide.
  2. Decide whether you would like to use the RenderNode as a gizmo or Toolset. Save it out accordingly.
  3. Create a folder directory somewhere on the server that every artist can access and place the init.py and the RenderNode_v01.nk file (or your gizmo file.) If you plan on using the RenderNode as a toolset, create a subdirectory inside of the folder and call it Toolset and insert the .nk file inside, that way nuke will know to recognize it a toolset.
  4. Add the server directory as a plugin path to each artists' init.py file. (Instructions inside of the init.py file.)
  5. Enjoy.

Extra info:

  • The RenderNode defaults to rendering two separate Quicktimes when using the Quicktime render or the Render All button. This can be changed by going into the init.py and updating the numQTS variable to 1.
  • Each of the knobs has a detailed description, all you have to do is open the node properties panel and hover over the respective knob.
  • It is also allowed to enter characters after the version number, as long as it is prefixed with an underscore.
  • Consider making the RenderNode Version knob invisible by right clicking on the properties panel of the node, selecting Manage User Knobs, select RenderNode Version from the list on the left, and then click Edit, and then uncheck the Hide box.
  • If you would like to learn a bit more about the way python works in nuke, try using The Foundry's online docs; they are very thorough and easy to follow: http://docs.thefoundry.co.uk/nuke/80/pythondevguide/

Currently known, non-technical issues with the RenderNode:

  • Rendering the quicktimes is only allowed if the RenderNode's DPX input has a connection.
  • Rendering the quicktimes does not allow for user input, it only uses the global frame range.
The MIT License (MIT) Copyright (c) 2014 Davide Curletti Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please login in order to download these files.

You have no rights to post comments

We have 6213 guests and 72 members online