Skip to content

Programmer's Guide

PatrickGe edited this page Nov 13, 2020 · 3 revisions

Prerequisites

In order to work on the Molecular Construction Kit, some basic requirements are necessary. The program runs under the Unity Version 2018.3.12f1, additionally the current version of SteamVR is required. The hardware is a HTC Vive headset with VIVE controllers and the VIVE base stations to track the headset and the movements in the room. An HTC Vive Pro or better is recommended to avoid compatibility issues. These requirements are sufficient to use the program.

To open or edit the program code, Microsoft Visual Studio 2019 or newer is also required

Structure

The easiest way to get an overview of the program is to use Unity. Here you can see all GameObjects in the hierarchy. As usual in Unity, the center of the program is the camera. This is the same as the user's HMD, the HTC VIVE headset. The controllers are counted as child objects by default. Both controllers must be connected to control the program correctly. The left and right controller have identical functionality and scripts. The sketch therefore shows which scripts are controlled by the controllers.

There are multiple Scripts located in the "Skripte" folder. Some of these are older relics from early stages of the program when SenseGlove was still in use. They are still included to be extensible and to provide basic functionality for SenseGlove, but other features for SenseGlove are not currently a priority during development.

The diagram below shows an overview of the scripts currently in use and how they are related. Structure sketch

It is important that the basic tracking scripts should not be changed. If adjustments are necessary for a better user experience, these can be made in the respective script. The laser pointer script, as the name suggests, deals with the laser pointer, which is a main function of the program. The Grab Controller script focuses on the grab function, i.e. all processes that occur when the user grabs an object.

Structure sketch

Clone this wiki locally