Overriding Materials
Redshift Proxies give you several different methods to assign different shaders than the ones already contained in a proxy. Each method is covered in the sections below.
From Proxy
When set to "From Proxy" the Redshift Proxy will be rendered with only the shaders embedded in the proxy file.
The example below illustrates the test scene rendering with the embedded proxy's shaders.
|
|
| Material Mode: From Proxy |
From OBJ Node / Full Override
When set to "From OBJ Node" Redshift will render your proxy with whatever shader is applied to the Redshift Proxy Object in your scene.
If the OBJ node only has one material defined at OBJ level, it is used to override all the proxy materials. If there are materials defined inside the OBJ node (for example using the "shop_materialpath" attribute) matching the proxy materials, they will be used.
When set to "Full Override" Redshift will render whatever shader is set in the "Full Material Override" field as pictured below.
Setting the "Full Override Material" shader
In the example below the proxy has a new sub-surface scattering Redshift material applied to it. It renders every object inside the proxy with the same material.
|
|
| Material Mode: From OBJ Node / Full Override |
List Override
When set to "List Override" Redshift will render your proxy with any number of new shaders that are manually set to replace the associated shaders inside the proxy.
These settings are set on a per-proxy object basis so you can import the same proxy file in two different proxy objects and use different shader "List Override" shaders for each.
Once "List Override" is enabled you can use the "Material Override List" section to control which proxy embedded shaders are replaced with the new in-scene shaders. By default the "Material Override List" will be set to "0" as depicted below.
Default Material Override List settings
In order to start overriding the proxy shaders you must specify how many shaders you want to override. To do this you can either set the number manually by typing a specific number in the "Material Override List's" field or clicking the
button to add 1 new line to the list. In the example that follows there will be 3 shaders being overriden so the "Material Override List" has been set to 3 as depicted below.
Material Override List set to 3
The "Replace Material" section on the left is where you specify which proxy embedded shader you want to replace and you set the shader to replace it with in the field to the right of the "With" label. The proxy embedded shaders can be selected easily by clicking on the dropdown arrow for the "Replace Material" section. This will reveal all the shaders that are embedded in the proxy as depicted below.
Selecting from the proxy embedded shaders
Once you've specified the proxy embedded shader you want to replace you can connect any in-scene shader in the "With" field as depicted below.
Overriding the proxy shader "chair_shell" with the in-scene shader "new_chair_shell"
Fort the rendered example below the proxy embedded shaders:
- chair_visor
- chair_cushion
- chair_shell
...have been replaced by:
- new_chair_visor : A clear Redshift material using a tweaked version of the "water" preset.
- new_chair_cushion : A cream-colored Redshift material using sub-surface scattering.
- new_chair_shell : A very shiny Redshift material with bump mapping and a high reflection weight.
Example setup
|
|
| Material Mode: List Override |
From Scene Materials
When set to "From Scene Materials" shaders in the current scene will replace shaders found in the proxy as long as they have the same path and name.
For example, if you export a proxy from Houdini with a material in the "shop" path named "blue_sphere" then you must also have a shader name "blue_sphere" in the the scene that is also under the "shop" path in order to replace the material in the proxy.