© Taichi Kobayashi


Table of Contents

This tutorial shows you how to link lights to objects in V-Ray for Houdini.

Want to follow along but don’t have a license? Download Free Trial


Overview


By default, all lights illuminate all objects in a scene, and all objects cast shadows from all lights. However, for artistic purposes or scene optimization, you may want to modify this behavior. This can be achieved through light linking, which allows you to control how lights interact with specific objects.

Linking lights to objects is done through the Light Linker tool or from the lights and objects parameters. Linking lights to objects lets you control:

  • which lights illuminate which objects (Light Mask);

  • which objects cast shadows from which lights (Shadow Mask);

  • which objects are reflected in other objects (Reflection Mask).

The Light Linker provides finer control by letting you choose a work mode. You can choose which objects are illuminated by a light (light-centric mode) or which lights light an object (object-centric mode). For reflections, you can choose the reflector-centric or reflection-centric mode. Find more information about the Light Linker tool at the SideFX documentation.

Download Scene Files


Workflows


Illumination

Method 1 - Through Object Parameters

  • Select an object and navigate to its Render tab > Shading subtab > Light Mask.

  • Add the lights that you want to affect this object. For example, for box_g add light_g in the Light Mask field.





Method 2 - Through Light Linker

  • Click > New Pane Tab > Light Linker to open the Light Linker pane.

  • Set the Light Type to Light Mask.

  • Select a Mode from the dropdown. For this tutorial, the Mode is Object-Centric. This means that you must choose which lights illuminate the object.

  • Select an object from the Lit Objects filter list. Then select the lights that must illuminate the selected object from the Light Sources filter list. For this tutorial, the box_g object is selected, and then the light_g is selected. This means that the green light illuminates the green box.
    You see that the Light Mask field in the Render tab is automatically populated with the name of the light that illuminates the selected object.






box_g illuminated by light_g

box_g illuminated by light_b

box_g illuminated by light_g, light_b, and light_r



Shadows


Method 1 - Through Lights Parameters

  • Select a V-Ray light, navigate to its Shadows parameters, and enable Shadows.

  • In the Shadows Mask field add the objects that should cast shadows. For example, select light_g and add box_g under the Shadows Mask field. This means that the green box casts shadows from the green light.





Method 2 - Through Light Linker

  • Click > New Pane Tab > Light Linker to open the Light Linker pane.

  • Set the Link Type to Shadow Mask.

  • Select a Mode. Here, the Object-Centric mode is kept from the previous example.

  • Pick an object from the Shadow Caster list that casts shadows.

  • Pick lights from the Light Sources list. For this tutorial, the box_g object is selected, and then the light_g is selected. This means that the green box casts shadows.
    You see that the Shadow Mask field in the V-Ray Light tab of the selected light is automatically populated with the name of the object that casts shadows.





no shadow is cast Before image
box_g casts shadows After image


Reflection


Method 1 - Through Object Parameters

  • Select an object and navigate to its Render tab > Shading subtab > Reflection Mask.

  • Add the object that you want to affect this object. For example, for box_g add box_g in the Reflection Mask field.





Method 2 - Through Light Linker

  • Click > New Pane Tab > Light Linker to open the Light Linker pane.

  • Set the Link Type to Reflection Mask.

  • Select a Mode. Here, the Mode is set to Reflection-Centric.

  • Pick an object that should be reflected from the Reflection Objects list.

  • Pick an object(s) to reflect from the Reflector Objects list.
    You see that the Reflection Mask field in the Render tab is automatically populated with the name of the object that should be reflected by your object.




Was this helpful?