VR Museum Experience

Kristoffer Lundgren Handledare: Henrique Rossi, Teemu Laine

Computer Game Programming, bachelor's level 2020

Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Abstract Museum Anna Nordlander is a part of Skelleftea˚ Museum and focuses on the artist Anna Nordlander. The goal of the project was to develop a VR Experience centered around Anna Nordlander and one of her paintings. The content for the experience was provided and recorded by the people at Museum Anna Nordlander. The purpose was to create a playable demo with features like audio playback, interactable objects, and a modular approach to the code which would allow future additions to the project. This paper investigates how some of the design choices affects the user experience. Specifically, how our choices affect the users physically, how prevalent certain symptoms common in VR are in the product. To gather the necessary data both the GO and the Oculs Qust were tested. The user tests showed that tracking is an important feature to reduce user discomfort and nausea, and teleportation style movement is not a good solution while using the . The end result is a playable demo containing all the content provided to the developers and all the requested features. The demo is also intended to be modular and easy to expand upon in the future.

Sammanfattning Museum Anna Nordlander ar¨ en del av Skelleftea˚ Museum och ar¨ inriktat pa˚ konstnaren¨ Anna Nordlander. Malet˚ med projektet var att utveckla en VR upplevelse centrerad kring Anna Nordlander och en av hennes konstverk. Innehallet˚ i upplevelsen spelades in och skickades till utvecklarna fran˚ Museum Anna Nordlander. Syftet var att skapa ett spelbart demo med funktioner som ljuduppspelning, interagerbara objekt, och en modulart¨ tillvagag¨ angss˚ att¨ vilket skule tillata˚ framtida tillskott till projektet. Denna artikel anvander¨ sig ocksa˚ av anvandartester¨ for¨ att undersoka¨ hur nagra˚ av designvalen paverkar˚ anvandarupplevelsen.¨ Specifikt sett hur vara˚ val paverkar˚ anvandarna¨ fysikt, hur prevalent vanliga VR- symptom ar¨ i produkten. For¨ att samla in den nodv¨ andiga¨ datan gjordes tester med bade˚ Oculus GO och Oculus Quest. Anvandartesterna¨ visade att room-scale tracking ar¨ en viktig function for¨ att minska obehag och illamaende˚ bland anvandarna,¨ och att rorelse¨ genom teleportering inte ar¨ en bra losning¨ for¨ Oculus GO. Resultatet ar¨ ett spelbart demo som innehaller˚ allt innehall˚ som utvecklarna fick samt alla funktioner som efterfragades.˚ Projektet ar¨ ocksa˚ tankt¨ att vara modulart¨ och latt¨ att fortsatta¨ arbeta pa˚ i framtiden. CONTENTS

I Introduction 1 I-A Background...... 1 I-B Purpose...... 1 I-C Limitations...... 1 I-D Method...... 1 I-E Social Ethical and Environmental Considerations...... 1

II Development Process 2 II-A Technical Implementations...... 2 II-A.1 Birds ...... 2 II-A.2 Oculus in Unity ...... 2

III Result 3 III-A User Testing...... 3 III-A.1 User Tests Summary...... 4

IV Discussion and Conclusions 4

References 7

V Appendices 8 I.INTRODUCTION the Oculus Quest which has room-scale tracking. A. Background Variables like resolution of the screens and refresh rate also come into play when using VR headsets. VR sickness is a heavily researched area when considering VR as a whole. A study by Lee et C. Limitations al.[1] indicates that as much as 90% of peo- The biggest limitation of this project was the ple experience some sort of VR sickness while time constraint, due to this the goal of the project performing certain tasks, such as moving around was to develop a fully functional demo which can in VR. Different ways of moving around in the easily be built upon at a later date if the project environment seem to play a big part in how much receives funding. Due to the limited amount of the player experiences VR sickness[2]. Studies time available the scope of the project was reduced have also shown that in some cases where the in the early stages. A big issue for the testing of user experiences severe VR sickness it can take the thesis is the current pandemic that made it ex- 30-60 minutes to totally recover[3]. The general tremely difficult to find test subjects but even with understanding is that the inconsistency between the a limited number of test subjects some conclusions movement in VR and the movement in is can be drawn from the test data. what causes the most prominent symptoms in VR. Since room scale tracking makes the environment D. Method follow the users movements more closely it re- The application was developed using the Unity duces the inconsistencies between VR and real life. Game Engine. The application was built as an This paper will investigate the difference between android application in order to run on the Oculus a headset with room scale tracking such as the GO and Quest. The application was installed to the Oculus Quest and a headset without it such as device using the Android Debug Bridge[5]. Task the Oculus GO. The paper will investigate if the were assigned each week at the developer meetings Oculus Quest causes less symptoms in the test and new features were requested at meetings with subjects and proviedes a better experience. Museum Anna Nordlander. The user tests were carried out by giving each user instructions on B. Purpose what they should do while inside the VR expe- Anna Nordlander (1843-1879) was a Swedish rience and after completing it, subjects were given painter born in the city of Skelleftea[4].˚ She is questions relating to their thoughts about the test known for her portraits and depictions of nature and how it made them feel. The questions were and folk life. Museum Anna Nordlander, a part partly based on questions from a paper by Kennedy of Skelleftea˚ Museum commissioned this project et al. [6] All the tests were also recorded in a in order to explore the possibilities of making video format, without audio using Oculus built-in the paintings, stories behind them and the life recording feature to gather as much information as of Anna Nordlander available to more people. possible from each individual test. Each test went The project was also commissioned to explore the on until each user had interacted with everything possibilities of enhancing the experience of the inside of the application. For the people that tested museums content, and making it more engaging. both the GO and the Quest at least 30 minutes The purpose was to create a playable demo that separated both tests. In total nine people performed includes the ideas from the museum. Additionally the test, three of them tested both devices. to explore the impact that certain design choices have on the user experience a study was conducted E. Social Ethical and Environmental Considera- and result recorded. The study aims to find out if tions devices like the Oculus GO which do not have The questionnaires contained no personally room-scale tracking contribute to the feeling of identifiable information, only gender and age, and nausea, vertigo, and headaches that many people no other personal information was saved. All par- experience while using VR technology. To eval- ticipants conducted the test willingly. The gender uate this thesis the Oculus GO was compared to of the participants did not seem to affect the results

1 in a noticeable way but that may be due to the limited number of tests. The test results were saved on Googles servers which means that they can be accessed by a third party but because they do not contain any personal information that is a non issue. As for the environmental impact, this type of application may give users the ability to experience a museum without actually traveling there which may reduce emissions if the user would have otherwise used a transportation system which runs on fossil fuel. All meetings for the project were held by video conference which means no traveling Fig. 1. Bezier Curve in Unity for any of the involved parties.

II.DEVELOPMENT PROCESS In equation1 B is the point along the curve at the given value of t. The points can be in either two When the project started a class diagram was or three dimensions as the equation still produces provided, which can be found in the appendices. correct results. The overarching structure is still present in the final product but some changes had to be made in order The points in figure1 can be moved freely to to better implement the requested features. For ex- modify the curve to almost any shape. To create ample the diagram shows that the controller class more complex shapes several curves can be used should handle the input, this is instead handled bu in a single path and the GameObject then follows the GoJoystick class in order to better consolidate all the curves in a single path. all the functionality of the controller to a single class. Since there were two developers working on The unity implementation of the path following this project the tasks had to be divided. The other system is based on paths built by using sev- developer was responsible for the UI and more eral Bezier curves. The implementation also uses of what the player sees and interacts with. The coroutines which is a feature built into Unity. author of this paper was tasked with the backend. Coroutines allow a function to run without the This section describes two of the task that were restriction of only executing during one frame, considered part of the backend. which ordinary functions are limited to in Unity. A coroutine can pause at the end of a frame and A. Technical Implementations continue at the start of the next frame. This allows 1) Birds: An important feature requested was the speed of the movement to be consistent no the ability for birds to fly out from a painting and matter what the framerate is. then land. Additionally one of the birds takes off a few seconds after landing to then start flying in a t = deltaT ime ∗ speedModifier (2) circle in the ceiling. In order for the birds to follow a predetermined path Bezier curves were used. The curves are based on the principle that given four The value of t as shown in equation1 is calcu- points in three dimensional space a curve can then lated according to equation2 each iteration of the be created. Given the four points and a value T function. When the value of t reaches one the next between 0-1 and specific point along the curve is curve in the path is chosen in order to continue the returned. movement. 2) Oculus in Unity: Oculus provides a framework[7] for implementing software on their 3 2 2 3 B(t) = (1−t) P0+3(1−t) tP1+3(1−t)t P2+t P3 products in Unity. The framework provides low (1) level functions for detecting input, and detecting

2 position = origin + (forward ∗ distance) (3)

The guide ray which emanates from the con- troller2 is set to start at the controller and end at the end position of the raycast every frame. The end position is calculated according to equation3. The same raycast is also used to check if the user has pressed on something that is interactable which reduces the number of raycasts to a maximum of one per frame.

III.RESULT User Age Gender 1 55 Female Fig. 2. Screenshot showing the selection ray and the outline that shows when pointing at something interactable 2 46 Female 3 46 Male 4 17 Female positions of the headset and controller. Input is 5 35 Female handled by the built in Unity action system, Ac- 6 34 Female tions work by adding functions to a action which is called when a specific button is pressed. The A. User Testing action system makes it extremely easy to add Test 1, User 1: Oculus GO The first user additional functions to button presses in the future. had no lasting symptoms after the test but during The actions can be accessed from anywhere inside experiences moderate discomfort, slight nausea, the application and call functions from any class moderate dizziness, and severe vertigo. They inside the scene. specifically point out that they tried to bend down When the program is started the current to get a better look at the birds but since the connected controllers are saved as a set and Oculus GO lacks room scale tracking it created saved inside a dictionary. This solution is meant a strange feeling which caused a lot of the listed to support almost all different types to Oculus symptoms. They did not like the teleportation headsets and controllers, it is also meant to allow style navigation style either since according to support for additional headsets to be almost them it felt to fast and unnatural. The teleportation seamless. The Dictionary is meant to house the made them almost lose their balance and made different types of controller combinations and map them want to remove the headset. what functions they are responsible for. The code for the controller sets in the dictionary can be Test 2, User 1: Oculus Quest The second seen in listing1 The Oculus Gear VR unlike the test was performed using the Oculus Quest and Oculus Go has a touch pad on the headset, with the user reported no lasting symptoms and no the controller maps that touch pad can be mapped symptoms during the test itself. They could bend to take over navigation if no other controller is down and look at the birds and walk around found. The dictionary tells the script which anchor the room naturally. It felt like they were inside is to be used for the type of controller connected. another world, it felt realistic.

When an Oculus GO is connected the anchor for Test 3, User 2: Oculus GO The third test the raycast is set to the controller. Every frame a was performed using the Oculus GO and the user raycast is sent from the controller in the direction reported slight Dizziness as the only symptom. As that it is pointing. for the navigation and realism they had nothing

3 Listing 1. dictionary code

D i c t i o n a r y newSets = new Dictionary () { {OVRInput. Controller .RTrackedRemote , RightAnchor } , {OVRInput. Controller .LTrackedRemote , m LeftAnchor } , {OVRInput. Controller .Touchpad , m HeadAnchor } , } ;

to add that they felt didn’t feel right. and said that it felt artificial.

Test 4, User 3: Oculus GO In the fourth test Test 9, User 6: Oculus Quest After the ninth the user reported slight discomfort and slight test the user reported no symptoms at all. They dizziness as the only symptoms. They had no said that compared to the Oculus Go everything lasting symptoms after the test. They reported that now felt a lot more real, it felt like things were the navigation did cause some dizziness. really in front of them. When comparing both headsets they also said that the image was a lot Test 5, User 4: Oculus GO After the fifth test sharper and the Quest was a lot better. the user reported slight discomfort due to how the headset fit onto their face but no other symptoms. 1) User Tests Summary: In total nine test were The only remark they had was that the resolution performed, three with the Oculus Quest and six of the screens was a bit low and the image felt with the Oculus GO. None of the participants pixelated. had any previous experiences with any type of VR headset which means that they didn’t have Test 6, User 5: Oculus GO After the sixth test anything to compare to. After the test most of the the user reported slight discomfort but no other participants felt normal with a few experiencing symptoms. They felt that the teleportation was a slight dizziness that lasted a short while. As for little unnatural. They described that ”poofing” to symptoms most of the participants experiences another location felt weird and that it went to fast. none or slight symptoms but some had more severe symptoms. As seen in the graphs34 users Test 7, User 5: Oculus Quest The user reported of the Quest experiences no symptoms at all. As no symptoms after the test. They said that being for the navigation several people did not like the able to crouch down too look at something close teleportation system used for the movement and felt much more realistic and natural compared to a few did not like that the Oculus GO lacked the Oculus GO. When comparing the Quest to room scale tracking and pointed out that it felt the Go they said that the image was much more unnatural. Of the few people that tested both the clear and they felt more comfortable being able Oculus GO and the Oculus Quest all of them to walk around and the Oculus Quest Region preferred the Quest. Some important points were Delimiter(Virtual playing space) made them felt a that the image was clearer, and just wearing the lot more safe. headset was less uncomfortable and more natural feeling. Test 8, User 6: Oculus GO After the eight test the user reported slight general discomfort, moderate nausea, moderate dizziness, and IV. DISCUSSIONAND CONCLUSIONS moderate vertigo. They said that everything felt Looking at the user feedback most of the fake and artificial. They did not like the movement people that used the Oculus GO experiences some

4 Fig. 3. Symptoms experiences during the tests of the GO

Fig. 4. Symptoms experiences during the tests of the Quest discomfort which negatively impacts the user may have a worse experience than a user with no experience. When comparing that to the Oculus previous experience. Quest the difference in user comfort is huge. For short applications the Oculus GO works for A variable which might have some impact is most people that haven’t tried other VR devices age. Since the number of participants was so before. But for some people the Oculus GO is low, no meaningful conclusions can be drawn, almost unusable due to the weird feeling that but from the available data it seems like older the environment doesn’t follow when you move people experience in general more symptoms than your head around. With the limited testing that younger people. Previous VR Experience may was conducted a clear preference towards the also play a big part in the amount of symptoms Oculus Quest was apparent. If users that have prevalent but since none of the test participants previously used a more expensive VR headset had any previous experience no conclusion can with room scale tracking tries the application be drawn at the time. Since the app is intended with the intended device, the Oculus Go, they to be available to people who visit the museum

5 people of all ages and experiences will use it. have a problem with nausea and dizziness the That makes is even more important to make it movement system is the first thing that would as usable as possible for everyone. That means need to be changed. Smoother movement would minimizing symptoms for all types of users. alleviate some symptoms. The teleportation From the data it seems like the Oculus Quest system that is currently implemented would be may be a better choice in general to make the replaced with more of a guided tour where the application as usable as possible, since it causes player follows a predetermined path, that would less negative symptoms. The only problem with smooth out the movement and make it less jarring using the Oculus Quest is the pricing, it is almost and possibly less nauseating. Other applications twice as expensive which makes it harder for in the Oculus store that are specifically built for Museum Anna Nordlander to procure several of the Oculus GO often have a predetermined path them. As concluded in the paper by Lee et al. [2] that the player follows, that may indicate that the Methods of moving which most closely imitates teleportation style of movement isn’t suitable for walking in real life result in higher user comfort the GO. and less VR sickness. That conclusion almost eliminates the teleportation style of movement Although only a few people tried both the Quest from consideration. The paper by Bond, Nyblom and the GO all of the clearly preferred the Quest [1] reach a different conclusion, they conclude that and all of them experienced only a few or no symp- teleportation movement does not cause motion toms at all. They also pointed out the the images sickness and makes users feel less tired. That may seemed clearer and that they felt more comfortable be to the design of the test in that specific paper. while using the Quest. All of these things indicate The specific movement styles tested favor the that using the Quest is the better options for giving teleportation style. From the available research it the users a better first experience. If the experience is hard a to say that there is a optimal way to gives a person nausea and general discomfort that reduce VR sickness. Each VR app need to be will lower their overall opinion of a visit at the tested in order to figure out the optimal way to museum. It is really important not to create a bad reduce VR sickness in that specific application. experience in order to generate a generally positive opinion which in turn garners more visitors. The project as a whole was affected by the current global health crisis, the user tests were not as extensive as they should have been in order to draw meaningful conclusions. Even with the limited data that is available some things can be extrapolated, which may not have a scientific meaning but may be used as guidelines for what may or may not work. A full scale test would have involved a lot more people with different amounts of previous VR experience and each user would have tested both the Oculus GO and the Oculus Quest. More people at different ages would also mean that age as a factor could be considered, currently the spread of ages is too small to properly evaluate if it has any meaning on the user experience.

Age is an important factor since people of all ages will use the application if it is used according to the museums plans. If older people

6 REFERENCES [1] David Bond, Madelein Nyblom Evaluation of four different virtual locomotion techniques in an interactive environment https: //www.diva-portal.org/smash/get/diva2:1334294/FULLTEXT02 [2] Jiwon Lee, Mingyu Kim, jinmo Kim A Study on Immersion and VR Sickness in Walking Interaction for Immersive Applications https://www.mdpi.com/2073-8994/9/5/78/htm (2017) [3] Nobushia Tanaka, Hideyuki Takagi Virtual Reality Environment Design of Managing Both Presence and https://www.jstage.jst.go.jp/article/jpa/23/6/23_6_313/_article/-char/ja/ (2004) [4] Konstnar¨ Anna Nordlander http://konstmuseet.com/om-man/anna-nordlander/ Retrieved 06/05/2020 [5] Android Debug Bridge https://developer.android.com/studio/command-line/adb [6] Robert S. Kennedy, Norman E. Lane, Kevin S. Berbaum, Michael G. Lilienthal Simulator Sickness Questionnaire: An Enhanced Method for Quantifying Simulator Sickness https://www.tandfonline.com/doi/abs/10.1207/ s15327108ijap0303_3 [7] Oculus Unity package https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022

7 V. APPENDICES

Fig. 5. Class diagram

8 Fig. 6. Class diagram: Main classes

9 Fig. 7. User test questions

10