Rendering And You: My First Guide
Once you have finished all your motion for a shot, then you are now ready to light and render it out. While you can think of lighting as its own stage in the pipeline, in reality it tends to be intimately linked to rendering as we shall see. There are four phases for end of the pipeline. First, in Maya, doing lighting for the shot and decomposing it into render layers. Second, using the renderfarm, sending shots to be rendered. Third, in After Effects, compositing the layers and doing post-production on the images as necessary. Lastly, in Premiere, taking the individual shot movie clips and editing them together into your final film. This guide will be concerned
mostly with the first two steps.
File Structure
Keeping your files organized in a logical way is imperative for the success of your film and the maintenance of your sanity. Nobody on your team should ever have to ask where any file is because there should only be one place where it should be. Below is the structure we will be using in production, so it would benefit you to adopt it now.
- shots - This is your top-level folder for all the shots in your film.
- seq_01_intro - Each file below the top-level will be a folder representing a sequence in your film.
- seq_01_intro_100 - Down one more level is another folder represent a specific shot in the sequence.
- iterations - A folder for storing old versions of files. Name them using a versioning system so that you always know what the last file is.
- project - This is a folder that the renderfarm will write to.
- seq_01_intro_100.mb - The Maya file for the shot. Notice that none of these file have versions as these files are assumed to be the latest.
- seq_01_intro_100.aep - The After Effects composition for this shot.
- seq_01_intro_100.mov - The rendered shot from the above file.
- seq_01_intro_100.avi - A playblast file from Maya, so that you can see what is in the shot if no render exists.
- seq_01_intro_200
-
- seq_01_intro_300
-
- …
- seq_02_prolouge
- seq_03_forward
- …
Please note that none of the files above have any capital letters or spaces in them. This is very important and is a convention you should follow for any file you have on the network. Failure to do this will result in failed renders when sending them to the renderfarm and generally headaches for everyone.
Render Layers
Render Layers are created in the Layer Editor. You may be familiar with this from rigging as Display Layers are used to color different types of anims.
You can find it in the Channel Editor (Display -> UI Elements -> Channel Box/Layer Editor). If it doesn't show up, you may have to reveal it by clicking
the "Show the Layer Editor" button at the top of the Channel Editor. By default the editor only displays Display Layers. Click Render to switch to Render Layers.
There should be a dropdown with some options you will never use and two buttons for creating layers. You can either create an empty layer or create a layer
containing the objects you have to selected.
Once you have created a layer, it should create a layer with some default name such as "layer1." Double click the layer
to rename it something more relevant. At this point you should also click the far right grayed-out button on the layer. This will bring up your rendering settings.
Right-click "File name prefix:" and select "Create Layer Override." This should turn the field name orange. Now change the name to the same name you made for the layer.
This will make it easier to recognize which rendered files are which.
Layers are very important tool for rendering, but they are not without their problems. Here are some things to keep in mind.
Pros
- Reduces the complexity of what needs to be rendered and so can get around out-of-memory problems in Maya.
- Reduces the amount of work that needs to be done when the scene is inevitably re-rendered.
- Allows a greater amount of flexibility in post-production for color-correction and effects.
- Greatly reduces the amount of light-linking you have to do in Maya.
- Well suited for a setup where the characters and set are lit independently (As is typical).
Cons
- Adds a small, but non-trivial amount of work to each shot.
- Having layers interact in a logical way can be tedious to set up.
- Casting shadows between layers is possible, but particularly annoying.
Render Settings
After everything is in layers and lit, then the first step toward rendering is making sure your settings are set correctly. Always check that these setting are
correct before rendering, as you are just wasting time if they're not. Here are some important fields to change.
- File name prefix - If you are using layers, this should have been overriden per layer. If not, name it after your shot.
- Frame/Animation ext - Set this to "name_#.ext"
- Image format - Set this to "Tiff (tif)"
- Renderable Camera - If there is more than one of these delete them. This should be set to your shot's camera. Do not use persp.
- Alpha channel (Mask) - If you are using layers, make sure this is checked. It should be by default.
- Width and Height - These will be determined by whatever aspect ratio the group decides on. For 4:3, then the default of 640x480 is fine. Whatever you choose, it must be consistent across your entire film.
- Enable Default Light - Turn this off.
Also, before you render, be sure to go to the Maya Software tab and change the quality to "Production quality." If you are
using layers, you may have noticed the "R" to the far left of the layer. Only the layers who have a "R" next to them will
be rendered to be sure to set these before you render.
Batch Rendering
As an alternative to using the renderfarm, you can render using your local machine. This is not ideal since it will swamp the
CPU and you won't be able to do any meaningful work on the computer. However, if the renderfarm is not available or there
are maybe people using it, batch rendering is a good alternative. When batch rendering, the first step is to set your project.
Go to File -> Project -> Set... and select the "project" folder for your shot (See File Structure above).
To start the batch render, select the Rendering menu set and go to Render -> Batch Render (Options). Select "Use all available processors"
and click "Batch render and close." To monitor the rendering process, go to the script editor (Window -> General Editors -> Script Editor).
You can find the rendered frames the project folder, separated by layer.
Using the Renderfarm
If you want to render something fast, the renderfarm is what you want. If you are not familiar with the concept of a renderfarm in general,
it is basically about 30 computers whose only job is to render Maya files. It is not without its problems, but it is a tool you will need
to know how to use.
Once you have finished lighting and setting your layers and render settings correctly, you can submit a shot to the renderfarm. You do this by
running the script "LinuxAFM.tcl", which can be found on your computer at Start -> All Programs -> Pixar -> RenderMan Studio 1.0.1. This will bring
up a UI for selecting the shot. Click the first "..." button for "Name of Maya file" and navigate to the shot you want rendered. This should place
the file path in text field. This is a good time to double-check you don't have any capital letters or spaces. You will notice that the next field
down, "Maya Project Directory", has been set to the folder containing your Maya file. We don't want the files output there and so add "/project/" to
the end of the directory path to send the renders to the correct location.
Make sure you remember the frames you need to render for the shot because you will need to enter them in the frame range. After that check that these
settings are correct:
- Render Command: /usr/local/bin/Render
- Server Selection Keys: (Maya|pixarMTOR),animals
- Distribution Mode: Alfserver
Click the "Render" button to submit the job to the renderfarm. This should bring up another program called "Alfred", which you can use to monitor
the shot's rendering progress. Like batch rendering you will find the rendered frames in "project", separated by layer.
Troubleshooting
I can guarantee that the renderfarm will not always work, but sometimes it's your fault. Here are some things to keep in mind.
- If you are using references, always import references before rendering (File -> Reference Editor, Right-click reference -> File -> Import Objects from Renference.
- As noted, all files that you use such as textures should be named in lower case with no spaces.
- All files should be on the network. The renderfarm can't see your Desktop, so don't put things there. Failure to do this will result in blackness where the texture was.
- Sometimes certain servers on the renderfarm will get "tired" and refuse to render your shot. You can check this by right clicking on a specific frame in Alfred and selecting
"see Output Log". If this is not full of things you don't understand, then it probably isn't working. You can blacklist that server by going to Scheduling -> Huntgroup... and deselecting
the problematic server from the list. Click the "All Jobs" button to finalize the change.