Digital Twin: The Netherland in game engines

For a while we have been helping Arnhem municipality with a digital twin they could use for their city. This followed previous efforts of our research group to develop digital twins within game engines.

Game engines are increasingly being used to implement digital twins, with sometimes stunning examples like this clip of Amsterdam in the recent Call of Duty games

or the DT of Wellington, New Zealand, by Buildmedia.

If visually appealing, such models do not fit the new digital twining paradigm. Indeed, with the recent market developments in the metaverse, the industry is moving toward a more comprehensive vision with capability to model globally. The above instances, therefore, lack scalability. It would be too expensive and time consuming to bring such an approach to a global scale.

To this end, game engines and digital twin actors (CAD, BIM, GIS, modellers) have come together to bridge the two technologies.

Digital twin as a service / on demand ??

At Geodan, we have been working on a set of conversion tools that forms a pipeline to automate the production of ready-to-load 3D tiles within Unity game engine.

The service is built upon an open dataset taken from two sources: the Dutch cadaster that holds all the basic land registry of the Netherlands and OpenStreetMap as a complementary source for some missing features (e.g. urban furniture …). Those dataset are stored into a PostgreSQL geospatial database. If needed, one could also load extra (proprietary) data such as BIM models, energy labels, models.

Pg2Collada is a script written in SQL and Python for the generation of collada files holding the 3D terrain, topological data and buildings. Such tools leverage BGT, BAG, AHN as well as OSM data for the production of the collada file. COLLADA (for COLLAborative Design Activity) is an interchange file format for interactive 3D applications. This open format can be used in a large variety of software applications from FreeCAD, AutoCAD, SketchUp, SolidWorks and more to game engines such as Unity. In addition, the script outputs a geojson file that contains the coordinates of each urban furniture type from trees to litter bins and more.

UnityPrefabGenerator is a C# script that enables to load the produced collada files, add texture, shader, collision meshes and street furnitures and output a ready-to-ship Unity package that any user can simply load.

Because it relies upon open and standard data and technologies, the service is able to produce 3D tiles nationwide. We then diverged from the above mentioned example as we are capable of scale up in an automated manner. This highlights as well the importance of grounded data models and standards, an essential component to the digital twin vision.

Others have worked on such technologies of course. There are great existing viewers such as https://3d.amsterdam.nl/ and https://3d.utrecht.nl/app, that follow a similar approach.

We witness more and more interest toward the technology within the industry. Cesium for instance has partnered with Epic Games to bring Cesium 3D tiles into the Unreal game engine and most recently into the Unity Engine.

So, while this is still a work in progress, we see good indicators that game engines and geospatial experts will succeed in filling in the gap to produce outstanding digital twins.