Houdini 16.5 Materials

Overriding material parameters and properties

How to change material parameters on individual objects or pieces of geometry.

On this page

Overriding material parameters on objects

You can assign a material to an object, and then make custom changes to the material’s parameters only for that object by adding a parameter to the object that overrides a parameter on the material. For example, you can use the same plastic material on a bunch of spheres, but give each a different color by overriding the material’s diffuse color parameter.

  1. Assign the material to your object.

  2. Click the dropdown menu at the end of the Material parameter field and choose Create all local material parameters or Select and create local material parameters.

    This adds parameters to the object that override parameters on the material. Create all local material parameters promote all the parameters in your object. Select and create local material parameters lets you pick only the ones that you wish to override.

    You can then change the value of the parameters on the object.

Overriding material parameters on primitives

The Material geometry node lets you assign a material to individual primitives (such as polygon faces).

  1. Use the Material geometry node to assign a material to primitives.

  2. Click the button next to Local overrides to add an override.

  3. Click Choose parameter menu and pick the material parameter you want to override.

  4. Change the value of the parameter.

Overrides at the geometry level have higher priority than overrides on objects.


The overrides are stored as a Python dictionary literal in a material_override string attribute on the primitives.

Material stylesheets

Material stylesheets provide a global method for overriding material assignments and material parameters, using matching patterns to target certain objects or primitives. If you need to make widespread or programmatic changes, stylesheets may be easier than manually adding overrides to individual objects/primitives.

Overriding render properties

Almost all of Mantra’s rendering behavior is defined by render properties. For example, the output name, the number of diffuse light bounces, and the noise level are all properties. See the properties overview and the full list of Mantra properties in the properties section.

The most useful Mantra properties are available as parameters on the Mantra render node. You can then override those settings as needed by adding render properties to an object, light, or camera.

You can override properties per-primitive by creating a Properties SHOP and assigning that SHOP to primitives using a Material geometry node.

Default render properties on objects

Houdini lets you change the default parameter interface for all new nodes of a certain type (for example, all new Geometry objects or all new lights). You can use this to set up objects to show the render properties of a different renderer, or add a render property to all new nodes that isn’t part of the default.

  1. At the object level, create an instance of the object (for example, a Geometry object). In the parameter editor, click the gear menu and choose Edit rendering parameters.

  2. Set up the parameters the way you want. For example, you might delete the parameters in the Render tab and replace them with render properties from the RenderMan folder in the left pane.

  3. Click Accept to save the changes to the node.

  4. In the parameter editor, click the gear menu again and choose Save as permanent defaults.


This saves a preset file in $HOUDINI_USER_PREF_DIR/presets/table/name.idx (for example, presets/Object/geo.idx), meaning this will be the interface for all new nodes of this type created by this user. If you use Houdini’s project management, you may want to move this to $PROJECT/presets/table/name.idx so it only applies to the current project.


Using materials

Textures and UVs

Creating materials

Guru level

Other renderers