Houdini 11 Shading

Overriding material parameters at the object level

At the object level, creating material parameters will create spare parameters on the object, which have the exact same name as the parameter at the top level material definition. When evaluating a material, any override parameters will override the parameter values that were defined on the material itself.

For example, if you have a plastic material that is applied to two objects, it is possible to override the diffuse color for one object by adding the spare parameters. All other parameters will pick up their values from the material definition.

Though it is possible to override render properties (i.e. displacement bounds), it is better to simply add the rendering property to the object since it is higher in the inheritance chain. This process is more useful when overriding shader parameters.

Overriding material parameters at the geometry level

Using the material SOP, it is possible to specify parameters which override the material’s parameters. These overrides are stored in the material_override string attribute (either point or primitive).

These overrides work just as they do at the object level.

Note

The syntax for storing these overrides is to create a string representing a python dictionary of parameter/value pairs. Using HOM, it should be fairly straight-forward to query or modify these override parameters.

Stamping using materials

Copy stamping is a feature of the Copy node that lets you modify the input geometry for each copy. You can also use stamping with Materials that you apply to your geometry.

Using material stamping

  1. Set up a Copy node.

  2. Create a Material and apply it to your source geometry using a material surface node.

  3. In the parameter editor of your Copy node, set Variables and Values on the Stamp tab and turn on Stamp Inputs.

    See Copying and Stamping for more information about stamping variables.

  4. In the parameter editor of you Material node, click the plus button beside Local Parameters.

  5. Choose the parameter you want to override from the Choose Parameter drop-down menu.

  6. Use the stamp function to grab the per copy values from the copy node.