MayaMan Help Contents
MayaMan Variables
MayaMan supports a couple of "convenience" variables that can be used in eg. the Output Directories dialog and in the pre/post render scripts.
How to use the variables
These variables can be used in any path field in MayaMan, or in the pre/post render scripts. Each variable must be formatted as follows: $(MYVARIABLE). Also note that the variables are case-sensitive.
PROJECTDIR
This is an internal variable that always points to the current Maya project directory. The following MEL command would return the same value: workspace -fullName.
SCENENAME
This internal variable returns the current scene name.
TXSUBDIR
This internal variable returns a string that represents the subdirectory in which textures should be stored for a specific renderer. This
is useful for things like explicit shadow map names so that the resulting maps get stored in an 'air' or 'prman' subdirectory.
RIBBASE
This internal variable points to the base name as set in the MayaMan Basic Options. Through MEL you could retreive this value using the following command: getAttr MayaManNugget.RibBase
FRAME
This internal variable will return the current frame beeing rendered. Note that this variable is only defined for use during render time, eg in the User Defined RIB Statemets section or in the Pre/Post Render/Frame MEL scripts.
RIBDIR
This internal variable will return the rib directory value with any other variables expanded. Note that it is an error to mention $(RIBDIR) in the rib directory setting!.
Environment Variables
MayaMan also supports the use of arbitrary enviromnent variables i paths (and pre/post render scripts). For instance, you could set your rib directory to be $(TEMP)/myTempRibs, or even declare and use your own environment variables.
Special Functionality
We realize that not all MayaMan users are MEL experts (yet). The following functionality has been added to support non-MEL gurus in completing some common tasks.
#[0-9]f
This option, when used in a filename, will be replaced with the current frame number. This is option is used automatically by MayaMan when using object archiving with the "Substitute RIB Automatically" option. If you output a range of archives and automatically replace the geometry in the scene with these archives, then MayaMan will refer to the archive as follows: objectName.#f.rib. If you render frame 43, then MayaMan will use objectName.43.rib.
The [0-9] part tells MayaMan that you want the number to be zero-padded, eg if you specify: objectName.#4f.rib then the renderer will look for objectName.0043.rib.
IFL files
This option was provided as an extension to #f. Using #f is easy, but it will always refer to the current frame. Wouldn't it be nice to have more control over which archive gets used in each frame? IFL files are essentially a list of filenames. MayaMan will look in the IFL file at the line that is corresponding to the current frame number, and use whatever is on that line. You have complete control over the order in which you write the filenames in the IFL file, which means you have complete control over which archive gets used in each frame.
An IFL file could look something like this: myIflFile.ifl
myArchive.0.rib
myArchive.1.rib
myArchive.3.rib
myArchive.4.rib
someOneElsesArchive.37.rib
myArchive.2.rib
myArchive.1.rib
So, by specifying this IFL file for archive substitution, MayaMan will use myArchive.0.rib on frame 0, myArchive.1.rib on frames 1&6, someOneElsesArchive.37.rib on frame 4 etc...
MayaMan Help Contents