How to get natural lightening for the cieling in the room?

I was trying to create a room model. I was able to add the walls but struggling to get a natural light in the room. Currently what I have tried is

var light = new HemisphericLight("light1", new Vector3(0, 1, 0), scene);
light.intensity = 0.8;

But what is happening is the wall and floor gets visibility but the ceiling becomes completely dark.
Need some hint to how to overcome this issue.

I want to have a light configuration just like it is in this demo added in the Babylon website itself:

Also if you can explain how come the walls and the ceiling in the above picture are dark at the corners, giving a very realistic effect.

Real-time lighting is a complex topic so you’ll need to research it quite a bit to get good results.

For these sorts of interior scenes the lighting is often setup in 3D rendering software like Blender and “baked” to a lightmap texture before importing into a 3D engine. There’s a great tutorial about the process here From Blender to BabylonJS - Nothing-is-3D

You should also check out screen space ambient occlusion.

You can also use multiple real-time lights of differing types and intensities with shadow generators, but this will quickly become performance prohibitive with these sorts of scenes.


Also hemispheric lights have to colours a bottom and top one you can change the bottom one to lit the bottom of the meshes :slight_smile: Babylon.js Playground


Hi @sebavan

Thanks for the hint. Now the ceiling does not appear completely black. And even the other walls are little brighter. I will do more research for more proper texture.


1 Like