Institutionen För Systemteknik Department of Electrical Engineering
Total Page:16
File Type:pdf, Size:1020Kb
Institutionen för systemteknik Department of Electrical Engineering Examensarbete Design of a graphical user interface for virtual reality with Oculus Rift Examensarbete utfört i Informationskodning vid Tekniska högskolan vid Linköpings universitet av Robin Silverhav LiTH-ISY-EX--15/4910--SE Linköping 2015 Department of Electrical Engineering Linköpings tekniska högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping Design of a graphical user interface for virtual reality with Oculus Rift Examensarbete utfört i Informationskodning vid Tekniska högskolan vid Linköpings universitet av Robin Silverhav LiTH-ISY-EX--15/4910--SE Handledare: Jens Ogniewski isy, Linköpings universitet Jonathan Nilsson Voysys Examinator: Ingemar Ragnemalm isy, Linköpings universitet Linköping, 1 oktober 2015 Avdelning, Institution Datum Division, Department Date Informationskodning Department of Electrical Engineering 2015-10-01 SE-581 83 Linköping Språk Rapporttyp ISBN Language Report category — Svenska/Swedish Licentiatavhandling ISRN Engelska/English Examensarbete LiTH-ISY-EX--15/4910--SE C-uppsats Serietitel och serienummer ISSN D-uppsats Title of series, numbering — Övrig rapport URL för elektronisk version http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-XXXXX Titel Design av ett användargränssnitt för virtual reality med Oculus Rift Title Design of a graphical user interface for virtual reality with Oculus Rift Författare Robin Silverhav Author Sammanfattning Abstract Virtual reality is a concept that has existed for some time but the recent advances in the per- formance of commercial computers has led the development of different commercial head mounted displays, for example the Oculus Rift. With this growing interest in virtual real- ity, it is important to evaluate existing techniques used when designing user interfaces. In addition, it is also important to develop new techniques to be able to give the user the best experience when using virtual reality applications. This thesis investigates the design of a user interface for a virtual reality using Oculus Rift combined with the Razer Hydra and Leap Motion as input devices. A set of different graphical user interface components were developed and, together with the different input devices, evaluated with a user test to try to determine their advantages. During the imple- mentation of the project the importance of giving the user feedback was shown. Adding both visual and aural feedback when interacting with the GUI increases the usability of the system. According to the conducted user test, people preferred using the Leap Motion even if it was not the easiest input device to use. It also showed that the current implementation of input devices was not precise enough to be able to draw conclusions about the different user interface components. Nyckelord Keywords Oculus Rift, virtual reality, user interface, Leap Motion, Razer Hydra, user testing Abstract Virtual reality is a concept that has existed for some time but the recent advances in the performance of commercial computers has led the development of differ- ent commercial head mounted displays, for example the Oculus Rift. With this growing interest in virtual reality, it is important to evaluate existing techniques used when designing user interfaces. In addition, it is also important to develop new techniques to be able to give the user the best experience when using virtual reality applications. This thesis investigates the design of a user interface for a virtual reality using Oculus Rift combined with the Razer Hydra and Leap Motion as input devices. A set of different graphical user interface components were developed and, together with the different input devices, evaluated with a user test to try to determine their advantages. During the implementation of the project the importance of giving the user feedback was shown. Adding both visual and aural feedback when interacting with the GUI increases the usability of the system. According to the conducted user test, people preferred using the Leap Motion even if it was not the easiest input device to use. It also showed that the current implementation of input devices was not precise enough to be able to draw con- clusions about the different user interface components. iii Acknowledgments I would like to thank Voysys and the employees at Voysys for letting me do my thesis project at the company and for dedicating their time and resources helping me. Their guidance made the result of this thesis possible. I would also like to thank Ingemar Ragnemalm for the support through the implementation of this thesis project and Jens Ogniewski for the guidance when writing this thesis. v Contents Notation ix 1 Introduction 1 1.1 Aim . 1 1.2 Constraints . 2 2 Background 3 2.1 Virtual Reality best practice . 3 2.2 User Testing . 6 2.3 OpenCV . 7 3 Application 9 3.1 Existing System at Voysys . 9 3.1.1 Scene graph . 10 3.1.2 Voyage file . 10 3.2 Oculus Rift . 11 3.3 Available input devices . 13 3.3.1 Leap Motion . 13 3.3.2 Razer Hydra . 15 4 Method 17 4.1 Input devices . 17 4.2 GUI components . 18 4.3 User testing . 21 4.3.1 Head tracking . 22 4.3.2 Razer Hydra . 22 4.3.3 Leap Motion . 22 5 Result 25 5.1 Implementation . 25 5.2 User test . 26 5.2.1 First iteration . 26 5.2.2 Second iteration . 27 vii viii Contents 5.2.3 Third iteration . 28 5.2.4 Questionnaire . 29 6 Discussion 31 6.1 Implementation . 31 6.2 User test . 34 6.3 Conclusion . 34 6.4 Future work . 35 Bibliography 37 Notation Abbreviations Abbreviation Meaning VR Virtual Reality HMD Head Mounted Display GUI Graphical User Interface HUD Heads Up Display ix 1 Introduction Virtual reality is a concept that has existed for a long time. It is only recently that the computational power of today’s computers are capable to create an immer- sive enough experience and the cost and quality of displays used are low enough for commercial use. This has in turn increased the development of virtual real- ity devices, with the goal of making affordable commercial products. With the increased development of virtual reality hardware, applications that utilizes vir- tual reality are also being developed. These applications have to be designed differently than ordinary applications, taking things like depth, distances, eye strain and simulator sickness in consideration. This does not only affect the ren- dering of the application but also how the user interacts with it. User interfaces and usability for ordinary applications have been researched for years. However, user interfaces in virtual reality have not been studied in the same extent. This master thesis project is focused on the interaction with and design of the GUI for a HMD in combination with different input devices. The aim is to deter- mine how to design different GUI elements and how the user can use a set of se- lected input devices to interact with them. The project was done at the company Voysys in Norrköping. The choice of input devices was based on their features and how compatible they are with the virtual environment that they will be used in. 1.1 Aim This master thesis project will aim to answer these questsions: • What input device is best combined with Oculus Rift in an environment where the camera’s position is fixed? • How should the GUI elements be designed for this input device in Voysys’s 1 2 1 Introduction virtual environment? 1.2 Constraints The design of user interfaces is a very broad area. To be able to investigate the challenges with virtual reality, this master thesis will focus on working with Voysys’s existing system, implementing the different GUI elements inside their application. This will not give a general conclusion of what always works, as some parts of different systems may work in a different way. The camera that is used in Voysys’s system has a static position in the world and will not provide cases where the users position may affect the user experience with the input de- vice or the GUI elements. 2 Background This chapter includes relevant background information about the main topics of this report. 2.1 Virtual Reality best practice In this section two different best practices are summed up and should be consid- ered when developing applications that uses virtual reality. These best practices are from two articles, Oculus Best Practices [Oculus, 2015] by the Oculus Rift team and VR Best Practices Guidelines [Leap, 2015] from the Leap Motion team. This summary will only consist of best practices that affects this project. For ex- ample, there are best practices regarding movement and rendering which are not interesting as the camera has a static position in the world and the rendering is al- ready implemented in the existing system. The best practices that are mentioned in this section are the ones that could affect the design or implementation of the GUI components and input devices. When designing the GUI in virtual reality it is important to take in consider- ation the hardware that is used. The Oculus Rift, with its displays, lenses and rendering technique, places some unique constraints on the GUI. This, in combi- nation with the fact that the GUI exists in 3 dimensional (3D) space, makes the best practice guidelines differ from the traditional guidelines. Depth is a new dimension that does not exist in traditional 2 dimensional (2D) user interfaces but is an important aspect of the GUI of a virtual reality application. Because of this, it is discouraged to use a traditional heads up display (HUD). The traditional HUD has to be rendered at a certain distance from the users eyes and occludes everything. If an object moves closer to the user then the HUD, it will be occluded by the HUD even when it is closer to the user.