20.08.2015 Views

TECHNICAL PAPER Building Tools for Houdini 9

TECHNICAL PAPER Building Tools for Houdini 9 - Digital Cinema Arts

TECHNICAL PAPER Building Tools for Houdini 9 - Digital Cinema Arts

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

the section Distribution with Explicit Paths below to set the appropriate environments up.If you plan on releasing these to a wider audience (Side Effects Exchange), then you will need to duplicatethem and place these external dependent files within your $HIP environment in the proper sub-directories.The FX <strong>Tools</strong> are an example of this approach. When you install the tools from the shelf exchange installer,shared .otl files are also included in the package and are installed along side the tool Digital Assets.Distribution with Local PathsThere are two methods to distribute your tool(s): Using the passive Local Path approach used <strong>for</strong> internal developmentset up on the tester machines or a more <strong>for</strong>mal Explicit Path approach described below. The LocalPath approach of distribution is recommended <strong>for</strong> testing purposes and <strong>for</strong> project specific cases. It is a fairlyloose way of working and encourages experimentation and development. For wider distribution and usagewithin a facility, managing your <strong>Houdini</strong> environments with Explicit Paths is mandatory. This method offers agreat deal of control and encourages proper versioning and release strategies to a wider audience.This method of distribution duplicates the same approach as the Internal Development process above. Youwill create local job directories and use the $HIP approach and all the appropriate sub-folders and files.There is much duplication of the tools. This has pros and cons. The pros is that you have local copies of yourassets and any global changes are not directly inherited. Manually copying in later versions of files and toolsis the way that versioning and upgrades are managed. Very secure. The downside is that you do not immediatelyinherit changes. Consider this a manual version control system.Distribution with Explicit PathsOnce tools have been developed and tested from $HOME/houdini9.0/toolbar they can be made accessiblefacility wide via the $HOUDINI_TOOLBAR_PATH, $HOUDINI_OTL_PATH and other environment variables.This method is used where you want the tools to be accessed site-wide or project wide. It allows users toinstantly inherit changes made to the tools.This method allows you to store the various files in very specific locations in the facility. This usually requiresworking with shells or setting system or user environment variables (windows). It requires an understandingof creating and managing system environment variables and knowing the various <strong>Houdini</strong> data types and theassociated environment variables to manage them. If you are the tool developer, then understanding the datatypes is assumed. Learning to create and mange environment variables is beyond the scope of this document.See Appendix E <strong>for</strong> references on managing system environments.The common major components of a tool consist of a .shelf file, an .otl file containing the digital asset(s),python scripts, python modules, and any other components. Any referenced images and geometry files shouldbe injected in to the digital assets saved in the .otl files to simplify the distribution and use of the tool(s). Allthe various components have their corresponding environment variables to manage them within the <strong>Houdini</strong>environment.$HOUDINI_PATH can be used as a way to manage tools. You can append the Local Path used <strong>for</strong> developingthe tool or a duplicated version to the $HOUDINI_PATH. This will include the tools in the current environment.If you are using a bash shell, it is done like this:export HOUDINI_PATH=$HOUDINI_PATH:/mnt/tools/my_toolwhere /mnt/tools/my_tool is the path to the root directory containing the tool(s) and all the related data thatyou wish to distribute to the site. This will append the path to the existing $HOUDINI_PATH environment variable.This line can be inserted directly in to the installed <strong>Houdini</strong> houdini_setup file <strong>for</strong> both bash and c-shellusers.Let’s take a look at the more common major parts of a Tool and the environment variables that are used tomanage them within the <strong>Houdini</strong> environment.HOUDINI_PATH environment variable to manage the environment22 | <strong>TECHNICAL</strong> <strong>PAPER</strong> Rev 1.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!