So there you are ready to put out your sphere #everyday but one thing that would really kick that image out of the park is removing the specular reflection of the area lights on your spheres. In other words, you want the diffuse component of the lights but don’t want them to contribute to reflectance. If you are coming from a program like Cinema 4D, it’s just a matter of unchecking Specular. Maybe you want the light reflectance but not the diffuse. It’s a common thing to do in most 3D applications. In Houdini, this is handled through Light Contributions.
At first you may start looking for a plain old checkbox to uncheck in your light parameters in order to disable Specular reflections. You will come up short. While it’s not a complex process, it’s not immediately obvious. The answer is found the in
Contributions parameter. Light and Environment light objects have this
Light Contribution parameter and involves a few steps in order to make it do what you want.
The award winning sphere scene is composed of basic materials with reflectance set up rather high, a bit of coat, a couple of area lights, and an environment light using an environment map. Super basic. What we want to do is remove the area light highlights appearing on our spheres.
First thing you want to do is click on the plus sign to the right of the Contributions parameter to add a component. You should immediately see a new field parameter pop up where you can type in the component name. But where do the names come from or which ones do you use. Simple answer is to just use the drop down to the right of the text field. The technical explanation according to the Houdini documentation is:
Components are named in the shader using the
Labelparameter on VOPs that generate BSDFs. The shaders included with Houdini use component names such as
Disable The Light’s Contributions
In the sphere scene, you want to remove the area light highlights from showing up on the spheres and completely ruining the image. So you added the light component and selected
reflect from the dropdown but nothing happened. What gives? This is the last and most important step in the process. You need to uncheck the component checkbox for your component name. Once you do that, you should see the reflection turn off.
In the above image, notice that a faint reflection still remains. This is due to the
coat property on the material. You can add another component and type in
coat or you can also take advantage of limited pattern matching. So for example, instead of using a component field for each component name, you can use a pipe symbol between the names. This will match component names which match nameA or nameB.
Things can get fancy by saying stuff like “remove everything except reflections” by typing
-reflect. This is basically just the inverse of using the component name
diffuse. You can also do something like “remove everything except coat and diffuse” by using an
& symbol such as
-coat & -diffuse.
You will also find you can use the labels
indirect to control a light’s contribution depending on whether the light sample is coming from a direct ray or indirect ray. If direct and indirect rays are not familiar to you, the Houdini docs have a thorough explanation under Understanding Mantra raytraced shading.