Deborah R. Fowler
Houdini Shading
Posted Dec 13 2017Updated Nov 5 2022
There are two main shaders in Houdini mantra:
- principled shader (accessible from the Material Palette)
- classic shader (formerly called the mantra shader - accessible in the mat network by the tab menu)
Metal has the spec color of the metal, i.e. gold has a gold spec color. Plastic is white. Metal is highly reflective, little to no diffuse.
Reference, Reference, Reference - look at the material you are trying to mimic. Preferably a real object, or if not possible, a photograph.
In H16.5 and up there are two context for shaders and a convenience of creating them. These are the mat, shop and Material Palette. When you drag a pre-set shader onto the Palette, you are really creating a material node in the /mat context.
One super cool new feature in H16.5 is the ability to bevel edges in the shader, not the geometry. It is in both the principled and the classic shader under the Bump & Normals tab.
Assigning shaders is covered in the section on Lights-RenderBasics.html
Let's also talk about textures and uvs in the section on Overview-UVs.html
It is not required, but you can dive in to a mantra node by right clicking and selecting Allow Editing of Contents. For example, a ramp is added to the diffuse color in the hip file
ExampleRampH19.5.hipnc
rampColorH18.hipnc - using Material Builder OR principledShader directly
If you like to dive inside vops you can also try the following from H17 principled shader:
mixColorWithNoiseWorks.hipnc
and
mixColorWithSplatterWorks.hipnc
(In Vops, you can get P by tab menu/global variable and select only one)
TIP: Ctrl F will help you search your vop network ie. basecolor for example
Layered Shader with Displacement (Houdini 18.5)
This can be extremely useful for objects that are being morphed as you can use the blend parameter to animate between shaders.
LayeredShaderWithDisplacement.hipnc
Decal Shader with Background Color (Houdini 18.5)
decalShaderH18.5.hipnc
Another approach for Decal is to use a ray sop and project geometry onto the surface see decalApproach.hipnc (H19.0.383)