The Design and Implementation of a Virtual Reality Toolkit

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2015-06-10
Department
Major/Subject
Mediatekniikka
Mcode
IL3011
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
72
Series
Abstract
The introduction of game consoles with motion-tracked controllers and depth sensing cameras has initiated a new wave of movement-based applications and games. These input devices, paired with 3D display technologies that have recently become mainstream, give hobbyists a chance of participating in the creation of virtual reality software at a much lower price point than previously possible. This thesis details the design and implementation of RUIS (Reality-based User Interface System), a virtual reality toolkit for Unity3D. The main goal of RUIS is to make the creation of VR applications as straightforward as possible. This is achieved by providing users with basic building blocks that solve many of the challenges encountered in the development of VR software. These building blocks provide a layer of abstraction which gives the developer a chance to focus on interaction methods and the application itself. The two main tasks RUIS handles are input and display configuration management. The challenges involved in the management of input methods are for example the calibration of coordinate systems, providing a clean interface for the usage of different types of devices in a standardized way, and providing prebuilt modules that handle common VR tasks, such as head tracking. The multitude of different virtual reality display configurations on the other hand require solutions for multi-display environments, head tracked views, projector keystone correction, and stereoscopic displays. RUIS implements these features and gives the developer a chance to create motion-based 3D applications easily inside the Unity Editor. Special attention during development was also given to the usability of RUIS - especially the idiomatic usage of Unity3D. This emphasis was put to the test on an Aalto University Virtual Reality course, where the students used RUIS to create their applications. This thesis also discusses the results and lessons learned during the course.

Uusien pelikonsoleiden mukanaan tuomat liikeohjaimet ja hahmontunnistusjärjestelmät ovat avanneet ovet lukuisille uudenlaisille tietokoneohjelmille ja -peleille. Näiden syöttölaitteiden ja 3D-kuvateknologian yleistyminen on antanut harrastelijoille aivan uudenlaiset työkalut omien virtuaalitodellisuussovellusten kehittämiseen - merkittävästi aikaisempaa huokeampaan hintaan. Tämä diplomityö erittelee RUIS-nimisen (Reality-based User Interface System, suom. todellisuuspohjainen käyttöliittymäjärjestelmä) virtuaalitodellisuustyöpakin suunnittelua ja toteutusta Unity3D-ympäristöön. RUIS:in tarkoitus on ollut tehdä virtuaalitodellisuussovellusten kehittämisestä mahdollisimman helppoa. Olemme pyrkineet tähän abstrahoimalla monet matalan tason laiterajapinnat yhdeksi, korkeamman tason, rajapinnaksi, jossa käyttäjän on helpompi keskittyä itse asiaan. RUIS:in hoitamat päätehtävät ovat syöttö- ja näyttölaitteiden hallinta. Syöttölaitteiden hallintaan liittyviä ongelmia ovat esimerkiksi eri laitteiden koordinaattijärjestelmien yhdistäminen, laiterajapintojen standardisointi ja pään sijainnin seuraaminen luotettavasti. Näyttölaitteiden laaja kirjo vaatii toisaalta erityisesti hyvää tukea monen näyttölaitteen yhtäaikaiselle käytölle, projisointivääristymien korjaukselle ja 3D-laitteille. RUIS pyrkii ratkaisemaan muun muassa nämä ongelmat ja antamaan käyttäjälle helpot työkalut omien sovellustensa kehittämiseen. Käytettävyys on myös ollut yksi RUIS:in kehityksen kulmakivistä, erityisesti Unity3D:n ominaisuuksien luonteva käyttäminen. Tätä painotusta kokeilimme käytännössä Aalto-yliopiston virtuaalitodellisuuskurssilla, jonka projektityössä opiskelijat loivat oman sovelluksensa käyttäen RUIS:ia.
Description
Supervisor
Hämäläinen, Perttu
Thesis advisor
Takala, Tuukka
Keywords
virtual reality, 3DUI, RUIS, kinect, oculus rift, unity3D
Other note
Citation