Infrastructure Visualisation using 3D Tiles
SiteSee analyses 3D models of cell towers providing intelligence on antennas, RadHaz compliance and corrosion. Gone are the days of needing a desktop machine and native application to view large 3D models. SiteSee provides visualisation of detailed 3D environments in a web browser with the help of 3D Tiles.
During the initial specification of the SiteSee product in early 2016 a number of key requirements were identified & defined design and development.
The need to display large 3D models, on the order of hundreds of Megabytes
Models are highly detailed, and need to be rendered with high resolution texturing
A seamless browser based solution, across desktop and mobile platforms without plugins
The user needs to have a responsive experience
The service needs to perform well on client device
Use a standards based or community supported solution
This list grew out of experience and experimentation involved in development of a series of prototypes use to demonstrate the viability of the product. Early on in prototype development WebGL demonstrated that it provided significant potential as a the basis for a cross platform 3D visualisation solution. There were a variety of well supported frameworks harnessing the technology each with a large community following.
Initial prototypes were written to use a PLY file provided over the web. As the size of the model grew, so did the problems. After 3D model reached 20Mb the user experience suffered. Not only did the download time increase but the client devices were no longer performing due to the vast resources requirements of loading the 3D model. Using a single large 3D model simply did not work.
The idea of using a variable resolution model become clear after stumbling across the 3D Tiles spec on the Cesium website. However, there was no implementation readily available for either creating or reading the 3D tiles format. Moving on we discovered a research project called “NEXUS Multiresolution Visualization” that offered LOD on ply files. This integrated very well into a webGL framework and demonstrated the potential of large LOD 3D model over the web. Although the prototype was functional it lacked the ability to provide textured models and did not seem to be embraced by the webGL community.
When our photogrammetry vendor released support for exporting reconstructions in 3D Tiles format, it was clear that the large vendors were backing the 3D Tiles format. This backing enabled the switch to 3D Tiles. Using the draft implementation of 3D tiles available in Cesium we developed an implementation functioning as a 3JS loader. In doing this we were able to harness the existing 3JS GLTF loader with modifications to support Cesium specific extensions. The only major issues encountered were due to our naive method for positioning tilesets in ECEF coordinates having precision errors with 3JS’ matrix datatypes limit to 32bit values.
Through this prototype implementation we were able to demonstrate the functionality that 3D Tiles provides to SiteSee. By basing the tile data on the open GLTF standard there is the flexibility to define scenes using any of the functionality provided including textured geometry we previously lacked with room to grow.
Being able to load only the data required at the time as requested by the viewer allows us to reduce the load times and bandwidth. The direct improvement to client experience was noticeable, improving desktop performance and enabling mobile usage over both WiFi and 4G networks.
Level of Detail (LOD) provides users with low latency interaction with the model. The viewer only fetches the level of detail required for the current view. It is no longer required to load the entire detailed model into the viewer, but rather load only the parts that are visible. This reduces bandwidth, latency and memory utilisation.
The result was an impressive visualisation platform for huge 3D models and fitted nicely inside our processing pipeline. The reaction from clients was that of wonder… we were able to load environments quickly and interaction was smooth on any device, even on a Iphone 6 over 4G!
Going forward there will be more and more support for 3D tiles as both end users, application developers and vendor witness the benefits of 3D tiles. It is important to have all parts of ecosystem supporting the 3D tiles specification. As the end users demand that all the 3D model interaction becomes 3D tiles. Application Developers, like ourselves, will leverage the benefits of 3D tiles to visualise 3D models over the web that were previously restricted to large workstations and proprietary software.