Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A lot of aspects of RenderMan for Blender (RfB) such as defaults and labels can be customized using JSON (.json files).

Environment Variables

Environment variables can be set using an rfb_envvars.json file. This file is automatically read on start up from the user's config directory (see: Blender's documentation). Note, this method cannot be used to set any standard Blender environment variables, including OCIO.

An example of the format of the file:

No Format
{
    "$schema": "./schemas/rfbEnvVarsSchema.json",
    "environment": {
        "RFB_LOG_LEVEL": {
            "value": "INFO"
        },
        "RFB_SITE_PATH": {
            "value": "/path/to/rfb_config_files"
        }
    }

Advanced: if you would like RfB to ignore the rfb_envvars.json, set the environment variable RFB_IGNORE_ENVVARS_JSON to 1

Configuration Paths

To find configuration JSON files, RfB will check the following environment variables in order:

...

In this case we want to change the default for the sunDirection to default to pointing up in the Z-direction. "name" should be the name of the Args file we want to override (this can also be the name of an OSL shader), follow by the parameters we want to configure. Note, the name of the json file itself in this case does not matter; as long as the first "name" matches an already known shader Args file it will work.

...

Finally, we can also add custom display channels that can be used in AOVs. Note, the name of this JSON file does matter; it must be named: rman_dspychan_definitions.json. Here's an example where we add a new channel called MyAOV.

No Format
{
    "$schema": "./schemas/rfbDspyChansSchema.json",
    "channels": {
        "MyAOV": {
            "description": "This a custom AOV",
            "channelType": "color",
            "channelSource": "MyAOV",
            "group": "Pixar"
        }        
    }
}

...

You can also add your own custom shaders by using the environment variables RMAN_SHADERPATH for OSL shaders and RMAN_RIXPLUGINPATH for C++ shaders. For the latter, an accompanying Args file is required. 

Other Examples

You can also look at some other examples of JSON config files in Blender's Text Editor , under the Templates menu.

...