A prototype mixed reality app for urban planning using Microsoft Hololens.
About the App
How convenient would it be, if urban planners could just walk through their city and visualise their ideas of future development possibilities on-site, in real scale, and in real time? And all with just a few hand gestures. This thought was the motivation for developing the 'Brick World' app, a prototype app that was developed as a student project.
The app allows the user to choose predefined objects or 'bricks'—3D models such as buildings, trees, or people—and place them anywhere in space on a horizontal plane (like on the ground or a table). Already placed 'bricks' can be rotated, scaled, moved, or deleted again by 'clicking' on them.
Software and ToolKits
The app was created for the Microsoft Hololens (gen 1) platform using Unity, Microsoft's Mixed Reality Toolkit for Unity, and Visual Studio. Additionally, Microsoft's Hololens Emulator was used for debugging and testing.
Implementation
The app was implemented in three main parts: creating the 'bricks', creating the virtual graphical user interface (GUI), and implementing the interactions with this interface and the placed 'bricks'. The 'bricks' are 3D models from Unity's Asset Store that were pre-processed and then stored in the app as a template. The the virtual GUI with its tabs and buttons was created manually as a permanent object in Unity. Finally, the interaction was added using scripts (in C#) either from Unity, the Mixed Reality Toolkit for Unity, or with custom scripts. The core part of the interaction design was about implementing the different actions for the 'bricks': creating new ones and rotating, scaling, moving, and deleting already placed ones. This was achieved by introducing a global mode: If the user has selected "create cars" in the GUI, clicking somewhere in space creates a new car. If the user has selected "scale down", clicking on a placed 'brick' will scale it down by a predefined factor. And so on.


Credits and Acknowledgements
This app was developed together with fellow students Muyan Xiao and Yang Xu. It was a student project during the course "GIS and Geoinformatics Lab" in fall 2017 at the Institute of Cartography and Geoinformation, ETH Zurich.