Katana Renderman Example¶
Get Prepared¶
If you haven't already done so, Download the Companion App.
In this tutorial, you'll use the Submission Kit to render a Katana-PRman project.
We don't provide a downloadable demo scene for this tutorial, so go ahead and build a simple scene with some objects and file textures. Your node graph should look similar to the image below.
Windows Paths¶
When you submit a job to Conductor, the filesystem hierarchy mirrors your local filesystem. However, the render nodes run Linux, so there are no drive letters, and paths must use forward slashes. For this reason, it's best to use parameter expressions to make paths relative to the Katana project file. By using expressions, your project file becomes portable across different platforms.
Let's suppose you have the following project:
C:/Users/julia/projects/kat/ocean.katana
and it contains the following assets:
C:/Users/julia/projects/kat/assets/3d/shark.abc
C:/Users/julia/projects/kat/assets/2d/shark.jpg
C:/shared/assets/3d/water_surface.abc
C:/shared/assets/2d/water_surface.jpg
and the render path in your RenderOutputDefine node is:
C:/Users/julia/projects/kat/renders/out.#.exr
To make these assets relative to the project, right-click on each filename parameter, choose 'Expression' as the Value Mode, and enter the following expressions, respectively.
project.dir + "/assets/3d/shark.abc"
project.dir + "/assets/2d/shark.jpg"
project.dir + "/./../../../shared/assets/3d/water_surface.abc"
project.dir + "/../../../../shared/assets/2d/water_surface.jpg"
Similarly, for the renderLocation:
project.dir + "/renders/out.#.exr"
You can see the fully resolved expression in the parameter, and your project should render locally just fine.
Configure the Submission¶
- Open the Companion app, sign in to your account, and go to the Submission Kit page.
General¶
- Fill in the form fields in the General tab as illustrated below. You may have to choose a different instance type and a project that exists in your account.
- Browse for the directory where your project renders to.
Note
Due to a limitation in the file dialog, the button to choose an output directory is labeled "Upload."
Task Template¶
The Task Template is where you specify the batch command to run on each render node in the cloud.
- Paste the following command there. Be sure to adjust paths for your setup.
katana --batch --katana-file=/Users/julia/projects/kat/ocean.katana --render-node=Render -t <chunk_start>
You can read more about Katana's batch mode here.
Notice the token: <chunk_start>
in the task template. Go to the Preview tab and you'll see it is replaced with a different frame number for each task.
Take a moment to save the state of the submission.
- Choose Save As from the More menu. Save the file as
katana_test.json
.
Files¶
- Go to the Files tab and use the file or folder button to browse for your project's assets. Don't forget to include the Katana file itself.
Head over to the Preview tab if you would like to check that the files are included in the upload_paths field.
Software¶
To configure your job environment, you must select the set of software and plugins it requires.
- Go to the Software tab and choose a recent version of Katana and the appropriate Renderman plugin.
If you head back to the Preview tab, you'll see the environment section contains several paths required for rendering Katana with Renderman.
Submit¶
You can now press Submit. You should see some activity in the status bar. If you click the small icon in the status bar, you'll see the complete log where you can identify submission errors, if any. If the submission is successful, a popup appears with a link to the jobs page.
Appendix¶
Environment Variables¶
Should you need to add any environment variables, use the Advanced tab.
In the screenshot above, notice we added the variable that points to the user's resource directory. In this case, you would also need to add the directory in the Files tab, so it gets uploaded.
Remember to use forward slashes and omit the drive letter in path variables, as they apply to the remote render node environment, Linux.
See the full list of Katana environment variables