Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Contents

Sometimes you need to install and expose custom patterns or materials for artists. RenderMan for Houdini uses environment variables to point to your custom nodes as well as a couple other mechanisms.

Overview

RenderMan can find your custom nodes easily but Houdini will need to generate the Interface for your nodes. The basic idea is to use RenderMan environment variables to point to the plugins and then run a script provided to generate the Houdini Digital Assets (HDA) that supply the interface. This script can run each time you start Houdini or you can generate the files once and then disable the script to reload these each time you start Houdini to save time. Note that changes to these nodes will require that you re-run the script to update the interface.

Environment Files

The following RenderMan Environment Variables can be used (either/or) to point to your installation location for your custom nodes, this can be a network location or separated list of multiple locations: RMAN_RIXPLUGINPATH or RMAN_SHADERPATH Typically the RIXPLUGINPATH is meant for C++ plugins and SHADERPATH is meant for OSL and .args files. However, in Houdini it will parse either specified set of locations for all types of files. These can be used inside of your Houdini.env file

Creating HDAs

Houdini needs to create HDAs to generate the correct interface for your nodes from the OSL and .args files. A script is provided to accomplish this after parsing the locations specified above. 

You can invoke the script using the following environment variable and specifying a value of 1.

RFH_ARG2HDA = 1


Once the script is run it will save the resulting HDA files in the default user directory unless otherwise specified. You can change this location by setting RFH_USER_PREF_DIR. If this isn’t set, the HDAs will be saved in HOUDINI_USER_PREF_DIR

Once these have been created, you can reuse them by resetting the RFH_ARG2HDA environment variable to 0


You can find more options for manual operation or possible debugging below, however, the above usage should be enough to accomplish installation of your custom nodes.

'''Usage: args2hda.py [options] argsfile1 [argsfile2...]This program parses an args file from Pixar's RenderMan and creates hda files
which allow the shader to be accessed easily in Houdini.Options:
-v Verbose
-o Dump associated obj files
-l hdafile Create a Houdini Digital Asset (HDA) for a single
shader.
-d dsfile Create a ds (dialog script) for a single shader.
-L hdafile Add shaders to a library of digital assets (one hda for all shaders)
-N label For a single .args file, specify the label in the menu
-C icon For a single .args file, specify the name of the icon
-c iconfile For a single .args file, specify icon file path that will be embedded in hda
-p path Path to find the shader when rendering. This path becomes
the Shader Name property of the hda.
-m menu TAB submenu path
-O Keep original names instead of casting to lower case.
-s namespace
-V version hda version
'''