Geovisualization with Unity

Fig.1 - Imported DEM in Unity.

For this project, a geovisualization of trail maps for the Coast Mountain Trail Series is planned. The geovisualization is created with the popular game engine Unity3D in its current version 5.5. Unity3D allows the developer to create scenes in which a digital elevation model (DEM) can be imported. The process of adding DEM’s to the scene differs greatly compared to regular GIS (e.g. ArcMap) where a DEM can be imported as a georeferenced GeoTIFF or shapefile. Unity on the other hand, does not use a coordinate system to project a terrain instead shapefiles or GeoTIFF DEM’s will be imported into Adobe Photoshop, cropped to the desired extent, saved as a RAW file (Photoshop specific format to store images), and finally imported into Unity3D [Figure 1]. Even though Unity itself does not use coordinate systems or projections, the DEM still retains its spatial “correctness” from the software it was created in (e.g. ArcMap), since the image is not altered after the export from a GIS.

After this important initial step to create a real-world reference, other steps for replicating (e.g. trail, aid and water station visualizations) and improving trail maps can be taken by creating objects and scripts (written in the programming language C# or JavaScript). Scripts are a series of commands which can be considered as behavior components for objects in the Unity scene.

By utilizing scripts and objects, following improvements to original trail maps can be anticipated:

  • Animated elevation profile, which shows the exact elevation change at a user-defined instead of static profile where the user must guess the location on the map
  • Integrated pictures and videos showing specific location on the map to improve what a user/race participant can expect of the race
  • Animated “runner” avatar which runs the race in order to visualize the race