Cultural Heritage with Unity3D : DS Improve's Sablon-On-Web

DS Improve has used Unity3D to produce a 3D interactive web demo of the historical Sablon area in Brussels.

The Sablon’s place is a touristic area in Brussels (Belgium/Europe), known for its old antique dealers, luxury chocolate shops and restaurants.

From your web-browser (Mac or Windows), you can walk around the “Notre-Dame des Victoires” church (a gothic church from the XVth century) and navigate in front of typical ancient houses.

The reconstructed area was optimized for web-display and real-time performance on entry-level NVidia and ATI GPUs. We started from a higher quality model that was running in our custom stand-alone and immersive 3D engine (Haeva) and we adapted it to run on web using the Unity3D technology.

The virtual reconstruction of the area in 3D was based on urban plans and aerial pictures. Precise measurements and high-definition textures were gathered on-site. The task was not easy because this is a popular touristic area with a lot of people walking around during the day. Also a part of the church was under renovation at the time.

This virtual reconstruction is a technological demonstration of the interactive and real-time quality we can deliver on-web to our customers in the architectural domain. We use the same technology to aid in the decision-making process for architectural projects during their integration in existing urban areas.

You will find more information on our dedicated IMMO3D web-page at http://www.immo3d.eu

You can try the interactive 3D demo here.

257773--9273--$sablon_958.jpg

You’ve added too many triangles to your projects, it gives me a VERY low fps and It’s hard to move the computer.
I have a dual core btw…

To display the cathedral (which is the high-poly element) you should have a GPU-powered machine that can handle geometry batches efficiently. Any recent NVidia or ATI entry-level graphics card is ok with this huge model. On internal Intel graphics, it’s obviously a knightmare. Performances are GPU related and not specifically bound to your CPU power. I have 15-20 fps with a VAIO dual-core laptop with NVidia 8400M. Same perf with a cheap MacBook with NVidia 9400M GPU. To have higher framerates, a 8800GT or Radeon 3870 will do the job correctly with 30-60 fps. But, well, we may consider in the future a low poly and less detailed version for mobile and office desktop machines/Eee PCs.

good use of photographs for textures, although some could have a bit higher aniso level…

The 3D model of the church looks really good.

The lighting looks fairly bad though… the screenshot has shadows but the 3D demo has not. A simple lightmap on the ground alone would do wonders for the scene.

Also since the users of the product will be non-gamers I think you really need an alternative to the first person controls. Maybe some simple pre defined camera paths will be enough.

If you want this scene to be an effective demo I say the scene deserves a bit more polish.

The screenshot was taken on an ATI HD 5800. The shadows are calculated dynamically by Unity3D (use SHIFT to move the sun, and move the shadow). We use cascaded shadow maps that implies multiple rendering passes of the cathedral. This functionnality seems not to work with pixel shader 2.x graphics cards, however it works perfectly on our NVidia 8800, 8400 and ATI 3800 and 5800 cards at the office. Effectively, at home, i have no shadows at all on an old ATI Radeon 9500. We could consider a static lighting using lightmaps in another release (we already use pre-baked ao maps here), but we lose then a part of the interest of having a real-time and interactive technology.

The models look nice.

You could probably achieve the same look, but with better performance if you lowered the poly count significantly on the models and used normal maps instead.

I don’t think you really need the real-time shadows. If you had moving objects in the scene that cast shadows, then maybe it would add to the interactive experience. But since the environment is largely static, the shadows would be pretty static also. You could put in some high quality light maps on the ground and achieve some good results.

Looks pretty sweet, good job on that.

I’d also recommend raising the aniso level on the floor textures, and maybe consider lightmapping the scene instead of the dynamic shadows.

Thanks for the suggestions.

We used dynamic shadows in this demo because we wanted to show dynamic shadowing on web to our architects customers. For us, the main interest of realtime is to get interactivity, at least in the freedom of movement and the lighting conditions (open air, daylight, sunny weather here). But, we can probably optimize it by reusing the same shadow map if the SHIFT key is not pressed.

We are thinking to use Unity to adapt this demo on the iPhone platform and then dynamic lighting is not an option: We have to use lower polys models, static lightmaps mixed with ao maps, and maybe normal maps if the iPhone can handle it (i just know that the iPhone GPU work with 2 textures units, and still don’t know if the iPhone has a programmable pipeline). That’s an additional work (and cost). With the same asset, we have then the ability to produce a static lighting and low poly version of this demo that will work on web on entry level PCs (Netbooks, ‘MS Office PCs’ or Good OLD PCs) .

In our own stand-alone engine running on high-end PC, everything is real-time and dynamic (shadowing, ambient occlusion, indirect lighting, volumetric lights, HDR, high poly count, etc …). We have here a quick port from our own stand-alone engine to Unity to have similar looking features on the web, with a reasonable time-line to port it (reducing models and baking textures take some man-days, and thus cost).