Introduction
What is User Experience?
International Organization for Standardization defined user experience or UX as a person’s perceptions and responses resulting from the use or anticipated use of a product, system or service. The product need to be designed centered on the users in order to have a great user experience. Product with a great UX required to have these components:
- Useful: Product should be original and fulfill a need
- Usable: Product must be easy to use
- Desirable: Product design, such as image, identity, brand, and other design elements are used to evoke emotion and appreciation
- Findable: Product should be navigable and locatable
- Accessible: Product should be accessible to people with disabilities
- Credible: Product must be trustable.
Complete guide of UX can be seen here: https://www.interaction-design.org/literature/topics/ux-design
Source: https://www.usability.gov/what-and-why/user-experience.html
What is Virtual Reality?
Oxford defined virtual reality or VR as the computer-generated simulation of a three-dimensional image or environment that can be interacted with in seemingly real or physical way by a person using a special electronic equipment, such as helmet with a screen inside or gloves fitted with sensors. Currently, virtual reality application have been developed for education, training, simulation, entertainment, gaming, etc. Virtual reality bring the user to the virtual environment where they can experience a lot of things like a real things. The example of virtual reality application are VRChat where people can socialize with each other using a virtual avatar, and Beat Saber which is a rhythm game in virtual environment. To access a VR application, user need to have a high-spec computer and a VR Head-Mounted Display (HMD) such as Oculus Quest and HTC Vive.
What is Virtual Experience?
Virtual Experience or VX is a user experience inside a virtual environment. Combined with International Organization for Standardization definition, VX can be defined as a person’s perceptions and responses inside a virtual environment resulting from the use or anticipated use of a virtual reality application. To create a VR application with a great VX, the application need to be designed centered on the users need. VR hardwares and softwares is still developing, so it is a challenge to design a VR application which maximize the user’s perception and immersion without causing a cybersickness.
VR Important Component
Visual – Sense of Sight
This is what users can see inside the virtual environments. The important aspect of the visual component on the virtual reality are listed below:
1. Interpupillary distance (IPD)
The distance between the centers of the pupils of the eyes measured in millimeters. Everyone has different IPD value. The modern HMD such as Oculus Quest and HTC Vive have a setting to adjust the IPD value for each user. IPD value is important to prevent eye fatigue and headaches — since the center of the lenses of the HMD is positioned correctly relative to the centers of your pupils. If the VR application plays with 3D distances and perception, IPD value is really important. However, for other types of applications, IPD value usually was set to be 63mm which is the average value of adult IPD. Click this link to see the tutorial on how to measure your own IPD: https://www.wikihow.com/Measure-Your-Interpupillary-Distance. There are some Android and iOS applications that can help you to measure your own IPD such as GlassifyMe.
2. Text and Button Sizes
The text and button size for virtual reality applications should be consistent. The text and button should be readable and not too small. The picture below explains the recommended text size and button size using a unit called distance-independent millimeter (dmm). 1 dmm can be described as 1mm out of 1m away, or 2mm out of 2m away, or 0.5mm out of 0.5m away. Click this link for more detailed information: https://youtu.be/ES9jArHRFHQ?t=480.
Fig. 2 the recommended text and button sizes for VR application. Image taken from https://youtu.be/ES9jArHRFHQ?t=1205. |
3. UI Screen in VR
The interesting part of screen design in VR is that we can contour the screen as what we would like it to be and place it wherever we want it to be as shown in Figure 3.
Fig. 3 The variation of the screen contour in VR. Image taken from: https://youtu.be/ES9jArHRFHQ?t=790 |
4. Visual Feedback
Visual feedback is really important in virtual reality user experience. Visual feedback can help with:
- To make sure that the user knows what they selected of inside a virtual environment
- Increase the immersion of the user inside a virtual environment
Fig. 4, The example of the visual feedback of a screen menu. GIF taken from: https://youtu.be/ES9jArHRFHQ?t=854. |
5. Converting Images into VR assets
- 1px image = 1dmm
Image taken from: https://youtu.be/ES9jArHRFHQ?t=1073 - Keep primary UI elements within 60 degrees, since no matter how wide the field of view is, if the user did not move their head around, they will see things comfortably within a 60 degrees area horizontally and vertically.
- The outer circle which is around 120 degrees is the comfortable area where the person’s eyes can move including the neck.
- Usually, a person’s head looks down at around +10 degrees to +15 degrees (horizon line) and our eyes tend to look up. So a comfortable visual center ends up being around +6 degrees below the horizon line.
- If the UI center on the horizon line, the user will feel that they have to look up to see the UI
Image taken from: https://youtu.be/ES9jArHRFHQ?t=1157. - Example of prototype UI design for VR:
Image taken from: https://youtu.be/ES9jArHRFHQ?t=1284.
6. UI Position in the Virtual Environment
Image taken from: https://youtu.be/ES9jArHRFHQ?t=1304.- Unity UI trick and tips for VR: https://youtu.be/ES9jArHRFHQ?t=1325
1 meter in real life = 1 unit in Unity
Auditory – Sense of Hearing
1. Human Comfort Sounds Level
References: https://safetyguide.web.cern.ch/SafetyGuide/Part3/25.2.html
- Hearing threshold 0 dB
- Quiet conversation 25 dB
- Comfortable sound level 40-60 dB
- Noisy restaurant 70 dB
- Intense street traffic 90 dB Lower limit of possible injuries
- Jet engine at 25 m 120 dB Threshold of pain
2. 3D Spatial Sound
The complete guide can be seen at https://www.youtube.com/watch?v=IAwFN9sFcso
Important point: Do not use Unity Audio settings since it does not simulate properly in VR! Use whatever Spatialize plug-in that available in the market (Oculus Audio SDK, Steam Audio VR, etc)
- Must using Head Related Transfer Function (HRTF)
The effect is that the user can tell from which direction the sounds come from. Possible with head tracking. HRTF will increase realism and immersion. HRTF settings are different for each person due to different distances between the left ear and right ear. However, the current technology has not been able to adjust the ear’s distance. All HRTF Content must be mono since it comes from a different source point. - The sound source must be located in the correct position.
Image taken from: https://youtu.be/IAwFN9sFcso?t=539 - The attenuation curve of the sound source must be correct.
Therefore the user can tell how far away the sound source is.
Image taken from: https://youtu.be/IAwFN9sFcso?t=653. - Dialog has to come from the people’s mouth. (Place the sound source on the avatar mouth)
- For voice over, try to make the sounds come from something (for example from AruBot)
- Reflection settings are important for indoor environment
- Music comes out from an object (e.g. a speaker) in the virtual environment
- Non-spatialized music — most suitable for background music, which is a stereo but not too loud.
3. Oculus Audio SDK
- Free SDK and support Unity
- Complete guide, see here: https://youtu.be/IAwFN9sFcso?t=1563
- Oculus Audio SDK Website: https://developer.oculus.com/audio/
- Sync mouth movement using Oculus Audio and Unity: https://developer.oculus.com/downloads/package/oculus-lipsync-unity/
Haptic – Sense of Touch
- Most of the commercialized product need to use additional hardware for implementation (e.g. VR Gloves)
- The controller can be set to vibrate and we can customize when to vibrate
https://developer.oculus.com/documentation/unity/unity-haptics/?device=QUEST - The complete guide for haptic guide design can be seen at https://medium.muz.li/haptic-ux-the-design-guide-for-building-touch-experiences-84639aa4a1b8
- The purpose of implementing haptic feedback is to convey useful information such as:
- Something went right or wrong
- Something happened or didn’t happen
- Hey! Look at this.
Olfactory – Sense of Smell
- Still, in the early stage of development and until the time this guide is written, there are already 1 commercialized product which is additional hardware for VR: FeelReal
- Olfactory feedback can increase the user’s immersion
- The odor is identified by human over a 100dB range (source: http://www.hitl.washington.edu/people/tfurness/courses/inde543/reports/3doc/#_Toc445017070)
Sense of Taste (Not yet commercialized)
- Still in the early stage of development
- Sense of taste feedback can increase the user’s immersion
- Until the time this guide is written, there is no commercialized product available in the market.
Locomotion
Explain how users navigate themselves within virtual environments.
Steering (Natural Walking)
- Recommended speed — walking speed (around 1.4m/s)
Risk in extreme cybersickness if the speed is too fast. - Recommended Implementation: https://youtu.be/KvDioV2nt5s?t=168
Jumping
- Recommended Implementation:
https://www.artstation.com/artwork/W2V8oE
https://www.youtube.com/watch?v=r1kF0PhwQ8E
https://www.youtube.com/watch?v=4o__z7aPlMw&feature=youtu.be&t=398
Teleport
- Using Minimap to teleport to the desired location.
- Risk — User will lose their awareness of their surrounding.
- Recommended Implementation: https://www.youtube.com/watch?v=9453r8Lkjko
Cybersickness
Effort to reduce cybersickness
- Optimizing 3D Assets for Virtual Reality: https://cgcookie.com/tutorial/creating-3d-assets-for-virtual-reality
- Use a correct IPD’s setting inside the HMD
- Use Jumping / teleport method for the user navigation.
- Use high specification computer to reduce system lagging
(Riska Wilian T. P. – News)