Object Property Overrides

Object Property Overrides extends RPM's control to many more properties than are currently supported by the Object Properties Per Pass system, and is new for version 6 of RPM.

It provides a way to control modifier properties (on, off, turbosmooth iterations reduced, etc.), texturemap settings (subsurface settings of a vray SSS dropped for a preview, bitmap paths), material settings, and baseobject properties for both previews and renders, and these changes are applied just for that particular preview/render.

Almost all object/modifier/material/texmap properties are supported, a list of avaiable properties is procedurally generated based on selection (see section below on creating entries).

An important point to note is that the settings in the UI are not per pass, they are global and affect all matching objects in the scene if not filtered - each entry can be assigned which passes it affects, along with filtering by the name of the item being modified, as well as bythe name of the object the item is assigned to, to control exactly what properties are modified.

Not per object - per class

The most important aspect is to understand that you are not picking which objects to affect - as you do with the Object Properties Per Pass controls - but which class of object across the entire scene to modify. After that it is what property of that class to modify, and what to set the property to. All objects of that class in the scene are potentially modified at this point, and there are name filters so you can limit it to affecting just the items you want.

In addition, there are separate settings for previews and renders, and you can limit each entry to one or more passes. Functions can be assigned for setting values, filtering by name, and also which passes to operate on.

These property settings are applied to Xref objects in the scene in additional to regular objects, though not Xref Scenes (Xref Scene support may be added in a future version if people need it).

Here's a snapshot of the UI as it stands in version 6 of RPManager:

Creating Entries

To populate the list, select an object with the properties/modifiers/textures you want to control and use the… buttons to bring up a list of items that can be controlled, and pick from those. If needed, create a temp object with modifiers/settings needed. if more convenient to build the control data.

Here is a screenshot of the list shown when an object with 3 modifiers is selected, and the 'Modifiers…' button is pressed:

Editing Entries

Once items are picked based on the selected object, they appear in the list. Selecting the item brings it's controls into the area below the list, where you can set what the value is set to for a preview ('Value Pr.') or a render ('Value Rn.). Float values can be set, divided by, multiplied by, added to or subtracted from. Booleans can be set or toggled - the dropdown lists change based on the class of the property being modified.

The 'Name' option allows you to filter which objects are going to be affected using name matching (startswith, endswith, contains, equals, etc.). Note these filters are not case sensitive, and can be comma separated lists (or the name of a function for greater flexibility)

The 'Object' option allows you to filter which objects are going to be affected using name of the object that the object we are actually affecting is assigned to: ie it might be a modifier named 'Turbosmooth', but this is the name of the object the turbosmooth is assigned to (ie 'Box001').

Passes allows you to limit which passes are affected, this should be a comma separated list of indices or pass names. ie “1,2,5”, or “diffuse,matte”

For the 'function call' item in the dropdowns, you an enter the name of a function to run. This function is expected to have a specific structure, and to make it easy if you hit the 'Fn' button below the list a function is created in a new maxscript window with some explanatory comments within it.

Object Properties, as distinct from the override control described here, can be controlled via the Per Pass Property Capture/Restore system.