This is a render of an indoor environment. There is a glass window in the room that provides a view of the street outside. The scene is lit with an outdoor HDRI environment texture. The problem is that the outdoor HDRI is reflected on inside of the glass. What is the best way to remove or fix these reflections?
-
1$\begingroup$ Moonboots's A is not solution for you. In reality gass viewed from int doesn't reflects ext, but int with light sources bright enough and ext dark enough to be seen thanks to a contrast between int light ray hitting the glass and background. If you are aiming to render with Eevee Ethan-Hall seems to me as answer for you. $\endgroup$– vkliduCommented Dec 14, 2021 at 22:25
-
$\begingroup$ @vklidu Thanks. This question has has been incorrectly marked as a duplicate and closed with a link to: How to use multiple HDRIs. Which is not what this question is asking, and is not the best way to address this problem. This question is more similar to Configuring eevee glass reflections. $\endgroup$– Ethan-HallCommented Dec 15, 2021 at 4:32
-
$\begingroup$ Note that while similar, this question is still different form the post "Configuring eevee glass reflections" because this new question is asking about a planer glass which needs to be configured with different settings. $\endgroup$– Ethan-HallCommented Dec 15, 2021 at 5:15
2 Answers
The solution is to set a (non-zero) refraction depth for the glass material and add a reflection plane just in front of the window pointing inward toward the room. The reflection plane will override the reflection of the background environment texture locally. Using this method, other objects in the scene will still be able to reflect the environment.
Notes: My glass material has screen space refraction enabled with a refraction depth set at 0.01 m. In the render properties I have also lowered the edge fading amount to 0.03 and enabled overscan at 10%. (You may need to make further adjustments to these render property values if the refraction is still fading out toward the edge of the camera frame.)
To avoid the HDRI reflection you can create this node setup for the world: Mix the HDRI Background node with whatever Background you want into a Mix Shader, and use the Input > Light Path > Is Glossy Ray as the factor. The HDRI will still be the light source but the second Background will be the one that will be taken account for reflections:
-
$\begingroup$ Thanks, I tried this way, it looks so good. but can make this reflection translucent. it looks plastic right now. $\endgroup$ Commented Dec 14, 2021 at 6:25
-
1$\begingroup$ you can put whatever you want in the other input of the Mix Shader, in my screenshot it's a grey color background but it can be another HDRI, or your current HDRI but with some tweakings, etc $\endgroup$ Commented Dec 14, 2021 at 6:29