MayaMan Help Contents

# The MayaMan Menu

The MayaMan Menu provied access to the actions such as adding attribute noded or rendering

#### MayaMan Globals

This option will display a dialog containing all of MayaMan's global settings.

#### Add Model/ Light/ Material/ Texture/ Fur/ Attributes

These options will attach custom MayaMan Attributes nodes and/or Extra Attributes to the selected objects.

#### Add LayerAttributes

These options will attach custom MayaMan Attributes to all display/render layers.

#### Subdivision

Go here for information on the subdivision tools.

#### Preview

MayaMan will render the current frame to the screen.

#### Render Single Frame

MayaMan will render the current frame to the display driver that is set in object archiving feature, which enables groups/hierarchies of objects to be manually exported as RIB archives.

#### Bake Displacement...

For users with bakeAir3.0, select an object and invoke... will create a delayed-read-archive style set of ribs (may be lots of files). This archive can be automatically substituted back onto the object or used later in another context or with another renderer.

For users of prman12.5, select an object and invoke... will create a single delayed-read-archive style rib and attach it back to the original geometry. This rib contains all the info required for mayaman based displacement shaders to reconstitute the displacement without having to modify the displacement shader. If the 'Substitute Rib' option is not selected then a rib is not created, instead a texture reference object is created that represents the original shape. In both cases the verts of the selected object are moved such that they more closely approximate the displaced shape. Note, this works by first rendering the selected object with a special surface shader that captures a point cloud file (which may take a while), this point cloud file is then processed by mayaman (which may also take a while). When the 'modifyShape' button is turned on the mesh will actually be modified to represent the displacement, this may hinder subsequent rebakes (unless a texture ref object is used)... therefore the recommended usage is to not modify the shape but instead use archive replacement.

#### Render Shadow Map...

This menu item will render the shadow map for the currently selected light. Once the shadow map has been created, it will be automatically be assigned to the light as a "Custom Shadow Map", meaning that MayaMan will reuse that shadow map for all frames, even if the light moves.
The "Use Full Paths" option determines whether MayaMan will use explicit or relative paths in the RIB files. If relative paths are used then the user-specified "Shadow Map Directory" will be automatically added to MayaMan Global Options: RenderMan Search Paths: Texture Paths.

#### Selected To BrickMap...

This menu item will use PRMan 13 to convert the selected objects into a brickmap which can then be used in place of the geometry during subsequent renders.

This is actually built atop a generic 'makeBrickMap' mode of the MayaManRender command and advanced users may wish to exploit this underlying functionality directly (where there are no preconceived notions about selections or channels). The syntax is:

        MayaManRender -makeBrickMap <quality> <chanspec> <result.bkm> <surfaceshader> <volumeshader> <maxerror>

Where 'quality' is used to control the density of the point cloud, each increment will typically quadruple the number of surface points or octuple the number of volume points.

Chanspec is a comma seperated list of type/name pairs, ie: "color Cs, float myFloat, ..." that describes the data to put into the brickMap.

'Result.bkm' is the name of the file to store the resulting brickMap.

Surface and volume shader are the shaders to use to perform baking, either, but not both, may be the empty string.

Maxerror is the parameter of the same name passed to brickmake

The only requirement on the shaders is that they have several arguments as detailed below that mayaman will use to pass information about what to store where and how. ie:

        string bake_file="";
        string displaychannels="";
        float interpolate=1;

and the shader should then contain something like:

        normal Nn = normalize(N);
        bake_3d(bake_file, displaychannels, P, Nn, "interpolate", interpolate, ....);

To render a brickmap as geometry you can use a .bkm file as the name of an archive to read on a MayaManModelAttributes node.

Baking the N/u0/v0 channels will result in a brickmap that captures just the shape and it's texturing coordinates, you can then dress and light this with any shader.

Baking the Unlit Color/Transp will result in a brickmap that captures the basic colour of the object which is useful later with a matte/plastic style shader and it will respond to lighting as expected. In this case the surface is evaluated as if it's being lit by a full intensity ambient light and no others.

Baking the Lit Color/Transp will result in a brickmap that captures the fully lit/shaded object which can be used with a constant/null style shader.

Baking the Illumination results in a brickmap that doesn't tie back directly to mayaman but may be very useful in conjunction with various custom shaders.

MayaMan Help Contents