Hi Max,
Thanks for the info, this is new to me, my motivation come mainly from the following.
I want to generate interior scenes at runtime using PlayCanvas where the Javascript code determines where the walls, doors, etc are located at the startup of the scene. However the layout of walls, ceiling, floor, doors WILL NOT change in a scene after startup but objects in the scene such as bed, table, chair may move around at runtime. The customer wants to be able to set the layout positions of some objects such as a bed or chair, basically furniture positions to see how the interior of the scene would look.
Then I also want it to look realistic. This is for a demo only for some people to show that this could be done for interior design. Its clear that with the PBR materials in PlayCanvas it can look quite realistic, but the lighting in your demo at top of this thread makes it look even more realistic, the key realism comes from lighting on floors and walls from the window and the ambient lighting on floors, walls, ceiling, window.
Since I want the layout of everything to be determined at runtime when the scene is first created with minor changes such as addition of bed etc later, this falls into the category of 3. Runtime Engine Lightmapping, however I only need the baked lightmapping to be computed once since the walls and doors do not change position from the time of creation of the scene and I don’t care to include interior objects such as beds, chairs, tables in this highly detailed lighting.
So I see the lighting computed as follows.
- Scene is created from Javascript code using Playcanvas for the walls, ceiling, door, etc. Baked lighting done to produce lightmap at this time. This might take some time.
- Objects are added to scene with runtime lightmapping.
- User can move objects around.
Scene from 1. may be re-used so should be cached/stored, the room may be re-used for different customers.
It is acceptable to me that only the interior walls, ceiling, windows, floors have the lighting done in a realistic way using Baked Lightmapping and the interior objects such as furniture not having such high quality lighting can have your normal runtime lighting method. Which I think also is how you would want it to be for a game map, expect the main difference here is that I would want the game map determined at startup time from the Javascript.
For example, where I placed chairs inside your demo and made an outside light to “fake” the lighting on the chairs to match the baked lighting. The only problem being there are no shadows for the two chairs, but that seems acceptable here in this adjusted demo.
https://playcanvas.com/editor/scene/485106/launch
Thanks, Philip