Environment map problems with multiple part model

Hi everyone.

Wonder if anyone can advise on what I should do.

My issue stems from the fact that i heavily use Environment maps(HDR) to light my scene and the same env map is applied to all of the parts of the model that I am showing off.

The image below shows a door with a rubber lining on top.

I hope the image that i share shows the problem, I would have thought certain objects would block the env map from appearing totally by the fact that it forms an image together as a scene, but it seems like everything is lit together individually at once.

The text reads, should the light not be blocked by the object above it?

Can anyone advise on how I could get the objects to be lit by the environment map but also to take into account lighting from the objects together.

Thanks…

Lighting that automatically considers reflections, shadows, and occlusion from all possible sources in the scene is (roughly) referred to as “dynamic global illumination”. It’s very much bleeding edge thing, mostly a subject for talks at graphics conventions. I don’t think any practical implementations exist for WebGL at this point.

In the meantime, it’s usually necessary to emulate these effects using methods like ambient occlusion, which decreases diffuse lighting from ambient sources like environment maps. Ambient occlusion can be baked to a texture in a tool like Blender, or added with post-processing. The latter is easier to set up but generally not quite as realistic. Example:

https://threejs.org/examples/?q=ambient#webgl_postprocessing_ssao

Setting up shadows on your scene may also help get the effect you want, but note that shadows are only cast from things like point lights in the scene, and not the environment map itself.

1 Like

Thanks for the response!

It seems like my problem could be fixed by your AOMap suggestion quite nicely.

I followed these guides:
Blender 2.80 - Minsar User Guide (Scroll down to section 2.18)

https://docs.blender.org/manual/en/2.80/addons/io_scene_gltf2.html

The 2nd UV on the model is the one being used in AO.

If anyone is looking for an example model and how it would look in Blender, download the following:

Has everything in one file.

So far this sample model looks much better and alleviates in everything appearing too shiny.

I will also check out SSAO to see if that helps further.

Thanks again.

1 Like