Small Project Management

From RMIT Visual Effects
Jump to: navigation, search

This page describes the folder and file naming conventions to be followed in the first six weeks of the course. An example folder structure can be downloaded from here.


The following general rules should be observed in file and folder naming:

  • Everything in lower case
  • Underscore between name items
  • In the case of name items consisting of more than two words, separate with a dash, not an underscore.


The requirement of the folder structure is to separate tasks in a consistent and ordered manner. Folders are understood in terms of levels:

First level folders
Lesson number Item number Your name Result
01, 02, 03 etc e.g. if more than one assignments has been done for that lesson Short abbreviation of your name (family name and initial separated by a dash, total to be no longer than 5 characters) Example: 01_01_qua-k
Second level folders
Each folder reflecting the relevant task. Refer to File and folder naming abbreviations. Example: comp, paint, etc
Third level folders
Two folders: one containing working files,the other containing output. Example: working files folder always called '_setup', output folder example: 'comp-out', 'paint-out' etc.
Fourth level folders
Here the folder level dwindles. In the case of your comp '_setup' folder, a 'sources' folder will also be required, into which your sources are to be placed.
An example folder structure for all assignments done in the first six weeks.


The requirement of the file naming convention is to identify: the project name, what task is served and what version it is. The project name it inherits from the project root folder e.g. '01_01_qua-k'. All renders from '_setup' files should inherit the name of that file. As a rule, version up, do not overwrite.

Inherited project name Task Version File extension Result
01_01_qua-k comp v01 .nk 01_01_qua-k_v01.nk

File and folder naming abbreviations

Common file and folder naming abbreviations are:

Abbreviation Task
_assets Assets (like reference and textures)
animatic The animatic
lookdev Look development
sb The storyboard
edit The edit
mm Match move (i.e. camera track)
paint Matte painting
comp Compositing
mdl 3D Modeling
txt Texturing

Don't use absolute filepaths

An absolute path is one that specifies the location of the file with respect to the computor e.g. My_Computer/school/lesson_one/asset.JPG. A relative path is one that defines the location relative to a file or a folder.

When reading and writing files, this course expects you to (as much as possible) use paths that are relative to the Nuke file. An absolute path 'breaks' when the project folder is moved to a new computor, and each filepath will then have to be manually repaired. A relative path, on the other hand, is far more durable.

There are two flavours of relative paths: those that look 'downstream' (i.e. into the same folder in which the Nuke file is located, or other folders within it) or 'upstream' (i.e. in the parent folders of the folders in which the Nuke file is located).

Upstream and downstream, defined as relative to the Nuke file.

For downstream, the following relative filepath is recommend. This writes or reads into a folder called 'sources', which is located in the same folder as the Nuke file. The image below illustrates this relationship.

[file dirname [value]]/sources/Asset_Name.JPG.
The destination folder of the downstream relative path.

For upstream, the following relative filepath is recommend. This writes or reads into a folder called 'comp-out', which is located 'upstream' to the Nuke file. The image below illustrates this relationship. To go further upstream, the value end-n needs to be increased.

[join [lrange [split [file dirname [knob]] "/"] 0 end-1] "/"]/comp-out/01_01_qua_v1.jpg
The destination folder of the upstream relative path.

If by chance, you are keeping the footage on a network drive far away from your Nuke script, then the relative path method won't work as there will be a 'breakage' between the Nuke file and the source/write file. Instead of manually changing each node, you can configure a NoOp node so that it is referenced by the Read and Write nodes. The snippet below explains how this is done.

Press 'Expand' and select and copy everything below this line, then paste into the Nuke node graph.

set cut_paste_input [stack 0]
version 9.0 v7
StickyNote {
 inputs 0
 name StickyNote7
 label "<pre><b><-- This Read node refferences the filepath value in the node 'Project_Path' (which is an adapted NoOp node) \n\nInstructions for use: \n\n1)  Paste 'Project_Path' into your script.                   \n\n1)  In all your Read and Write nodes, substitute \\\[value Project_Path.filepath] for everything that preceds the filename.\n\n2)  In 'file path' of 'Project_Path', navigate to your sources folder\n\nAll Read and Write nodes will now call upon 'file path' of 'Project_Path' when looking for the 'sources' folder."
 selected true
 xpos -4012
 ypos 65
push $cut_paste_input
NoOp {
 name Project_Path
 label "\nPlace in this node the file\npath of your project.   "
 note_font "Verdana Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold Bold"
 note_font_size 9
 note_font_color 0xff
 selected true
 xpos -4111
 ypos -92
 addUserKnob {20 User}
 addUserKnob {2 filepath l "file path"}
 filepath /Volumes/Internal_02/School/RMIT_VFX/lessons/lesson_01/01_01_qua/comp/_setup/sources/
 addUserKnob {26 ""}
 addUserKnob {26 directions l Directions: -STARTLINE T "Place here the path of 'top level' folder of your \nproject. If you don't know it drop the folder \ninto the node script and copy it from there \n(it will be in the file parameter of one the \nresulting read nodes)"}
Read {
 inputs 0
 file "\[value Project_Path.filepath]file_name.jpg"
 format "1920 1080 0 0 1920 1080 1 HD_1080"
 origset true
 version 1
 name Read3
 selected true
 xpos -4112
 ypos 55

For a fuller and more comprehensive look at file paths, have a look at this excellent pdf from the excellent Benjamin Seide.