Fake An HDRI Reflection?


How do I fake an HDRI to use as a source of reflection but not as source of illumination?

USE CASE. I have a Camera with a Gun that is metallic. They look nice with an HDRI.
However, my actual scene is interior lit and I barely get any reflection.

Is there a way around this?

From the top of my head, you go to the shader editor > World. There you use a node called light path. Plug one of the output in a MixRGB node. Then you use Color1 or Color2 for the HDRI. Not sure what output you need, but try it I would say.


Thanks for the response.
That could be the case like in this thread https://blender.stackexchange.com/questions/178080/can-i-use-an-hdri-for-reflections-only-and-not-have-its-light-affect-the-scene


  1. I’m already using an HDRI. But since it is interior there is not much reflection. But still I would want to reflect an HDRI reflection as if its an open environment and perhaps just dial it down.
  2. I only want this effect to the camera and gun and not to everything else.

Is this possible?

You can fake that in-shader, by using the reflection texture coordinates, but you’ll probably need to fiddle a bit. I’d add a general glossy shader to your existing material -or possibly an emission, and play with dynamic values so that you get the amount of reflection you want.

it might be easier to just add some lights/emitters into your scene to have something to reflect.

I’m a big fan of skinny slice area lights:

1 Like

Thanks for the response.

This is new to me. I’ll have took around.
If you have a handy link/resource that I can refer, I’d be grateful.

That could work but again I only need it in the specific objects. If I add a bunch of lights, it will also light other objects :frowning:

True, but if one object is reflecting something else entirely, then it’s gonna look out of place. kinda like when someone photoshops something into an image from an entirely different lighting condition.

If your metal materials are shinier than your wood and fabric materials, they will naturally catch the light more and have a more visible effect.

Use a mirrored image as a fake HDR, you will have reflections without light data. You can also use a HDR similar to your scene set to a low value.