Search Unity

  1. New Unity Live Help updates. Check them out here!

    Dismiss Notice

How to hide Lights reflection from material with metallic=1 and smoothness=1 (mirrors)

Discussion in 'High Definition Render Pipeline' started by loppirob, Mar 20, 2020.

  1. loppirob

    loppirob

    Joined:
    Jan 31, 2018
    Posts:
    6
    Is there a solution to eliminate the reflected lights from a fully reflective material?

    I used a Planar Reflection Probe and a material with Metallic=1 and Smoothness=1 for make the mirrors but the lights inside the mirrors are fully reflected even this lights are not visible (outside the room)!!
    I can hide the lights by a script but i would like to eliminate reflections only when the material is fully reflective

    I can hide the reflection from lights by:
    HDAdditionalLightData myligthdata = lightComp.GetComponent<HDAdditionalLightData>();
    myligthdata.affectSpecular = false;

    Material with Metallic=1 and smoothness=1 and Planar Reflection Proble = not active
    upload_2020-3-20_7-44-11.png


    Planar Reflection Proble = active
    upload_2020-3-20_7-45-31.png
     
  2. Tomas-Kiniulis

    Tomas-Kiniulis

    Unity Technologies

    Joined:
    Apr 27, 2017
    Posts:
    24
    Hey!

    Are you using an Area Light behind the window? Looks like there's an issue where Area Light always shows up with "Display Emissive Mesh" always enabled in reflection. The light popping behind the walls is not expected behaviour either and we will work on the fix on those issues. As a temporary solution, could you try using a spotlight to cast light from window and see if that resolves it?
     
  3. Tomas-Kiniulis

    Tomas-Kiniulis

    Unity Technologies

    Joined:
    Apr 27, 2017
    Posts:
    24
    Update on the issue, it seems to be "By Design". Unfortunately, there is currently no solution to bypass this behaviour of Area Lights. When Shadow Maps are enabled, some of the light still passes through thus causing this effect unless Raytracing is used.
     
unityunity