CustomizingHoudini

From Odwiki

Jump to: navigation, search

Houdini itself is very flexible in its interface. This page attempts to explain some often black art advice on how to customize Houdini outside of its main interface.

Contents

Custom Operators

See CustomOperators

Environment Variables

At the command line, the hconfig utility provides a central place for all the environment variables that can affect Houdini behaviour. Typing "hconfig -" at the command line will give the help on how to use it. "hconfig" alone will show you all the variables which have been modified by the user. "hconfig -h <variable>" will describe what a particular environment variable does.

To show the various search paths and what they expand to, use "hconfig -ap". The top of this has important information special characters used in search paths such as $HOUDINI_PATH. One of the most important being the apersand (&) character which expands to the "default" path. For example, to add a directory to the a path without worrying about what the default path should actually be, simply set the path to: "/mypath;&". This will search the "/mypath" path first, then search the default path.

Windows

To set environment variables on Windows, right-click on My Computer and choose Properties > Advanced > Environment Variables. You can also setup environment variables in the cshell if you are invoking Houdini from the cshell as opposed to the Start menu entries.

To run hconfig, go to "Start menu" > "All Programs" > "Side Effects Software" > "Houdini X.X.XXX" > "Command Line Tools"

Unix

To set environment variables in a tcsh shell (or script) use

 setenv ENV_VAR_NAME env_var_value

To set environment variables in a bash (or sh) shell (or script) use

 export ENV_VAR_NAME=env_var_value

Configuring the application menus

As of 9.0+, all the application menus for Houdini Master, Escape and MPlay are configurable via XML.

Please take a look at the files:

 $HIP/houdini/MainMenuMaster  (there is some documentation in this file on how to do it)
 $HIP/houdini/MainMenuMPlay
 $HIP/houdini/MainMenuEscape
 $HIP/houdini/MainMenuCommon

How to change the font/icon sizes

As on H9, there is a menu item in the Preferences to select from some basic preset sizes. (Large/Normal/Compact/Small).

However, one often used environment variable that can be found from hconfig is HOUDINI_UISCALE. The default value for this is 100. By making it larger or smaller than 100, you can control the size of the interface icons and fonts. On my 17" monitor running at 1280x1024, I find the text much more readable using a value of 105. There are a few masochistic people out there that attempt to reduce all fonts and decorations on their systems to the absolute minimums to completely maximise screen real-estate, and HOUDINI_UISCALE of 85 seems to suit them.



How to make .icon files

Houdini's icons are mostly done in the .icon file format which originates from SGI's Irix operating system. A whole collection of example icons can be found under the path $HFS/houdini/config/Icons/Sample. A description of the format can be found here: Icon Description Language. It's an ASCII vector format. There's also a proprietary binary version of it called .bicon which Houdini uses internally.

The "gicon" utility from in $HFS/bin can be used to generate these .icon files on non-Irix platforms. It converts Houdini .geo files into .icon files. To create your icon, you use Houdini to draw it in the XY orthoview. At the command line, use "gicon -" to see how to use it.

How configuration files work

Houdini will traverse certain paths and collect information about the setup. One of these paths is the environment variable HOUDINI_PATH. Houdini will traverse all fragments of this path forwards and do the following: (Note here that sometimes Houdini will stop at the first encountered configuration, and sometimes will collect all configurations in the path depending what it is being used to look for.)

  • Execute the first encountered StartupScripts (123.cmd and 456.cmd)
  • Read the first encountered IndexFiles used for attaching custom operators (VEX and Subnet types). Note that this is "old-style" and as of 6.x, the preferred method is to the the OTL methodologies- see CustomOperators.
  • hopmanager.pref OTManagerConfiguration files for OTL configuration
  • OPmenu for attaching menu options to operators
  • FBres file for CustomizingResolutionMenu
  • FBrender to define Sequence name presets for the file output menus
  • Generally, everything that can found under $HFS/houdini (or $HH). This fact is generally used to copy files from $HH into a user's $HOME/houdiniX.X directory and then modified so that the setting is customized for a particular user.

For desktop files, one can append the .nosave extension to prevent them from being saved. This is what's done when you click on the NoSave (N) flag in the Settings > Desktops... dialog.

Additionally, almost all configuration files which end with a .pref extension can also have .nosave appended to the filename. This handy features allows one to set certain site-wide preferences by putting these .nosave files higher up in $HOUDINI_PATH. The user is still able to change the preferences in Houdini but they won't save so that the changes are lost the next time Houdini is started. The downside is that a .pref file often controls many preferences and seldom does one want to disable user control of all the preferences inside any one particular .pref file. The best use of this feature is used to override the hopmanager.pref settings so that the use of OTLs can be made consistent.



Configuring

  • CustomExpressions : Houdini supports user CustomExpressions which are usable in any expression field in Houdini.
  • Shader visibility : Add the following command to 123.cmd startup script: shopvisible -RIB -MI +VMantra
  • HoudiniBrowserConfiguration : Custom configuration for the Houdini Help Browser
  • io Files: configuring helper programs for data io. These are files which exist under $HFS/houdini/ and can be copied and modified and placed anywhere in the $HOUDINI_PATH
    • GEOio : geometry input and output. You can point to custom programs which read stdin and write to stdout in geo format. Any file extensions defined in this file can then be read and written in all areas of Houdini, for example the FileSOP and gplay
    • CHANio/CHOPio : as above, but reads data chan file format for reading and writing of channel data, as in the FileCHOP and ChannelROP
  • Frame Buffer tools:
    • FBio : For conversion of the Frame Buffer for images. The interchange format is pic. These support tools which are external programs and not HDK DSO plugins.
    • FBres : Setting preset render resolutions - good for facility customizations and job-specific customizations. All formats specified in the FBres files are accumulated along the $HOUDINI_PATH. These are the resolutions that appear in the ROPs for Mantra, RenderMan and mental ray
    • FBoptions - where to set defaults for the various FileFormats
    • FBfiles
    • FBrender
    • FBformats
© 2009 od[force].net | advertise