This development regards a 3D application for engineering purpose. It is basically a 3D visualizer of static objects with domain specific metadata loaded dynamically. The unity 3D app is a frontend for a bigger system. Thus, the webserver will provide a JSON with a static geometry in OBJ format and metadata about this geometry. This metadata represents a set of properties regarding the objects (i.e. visual elements), like colors, labels and other domain-specific ones. The visualizer must provide several functionalities, such as model selection and loading, camera manipulation capabilities (e.g. rotate and move around, zoom in and out), different visualization capabilities (e.g. view toggling mode of wireframe, solid fill, back-face culling), and click interaction with the displayed objects.
Application interface: The app has two screens. The first is the model selection & loading screen, which presents a set of models, retrieved from a webserver, and waits for the user to select one. The next screen shows the chosen model and enables the interaction with it. The same model can have different views, which is in practice different visualizations of the same geometry. However, each view has its own metadata. Therefore, user interaction might require webserver access for loading domain-specific metadata of the view. Memory management, such as caching, is expected for good performance of this application.