"Virtual Reality 101: development tips for moving experiences" by Fabio Mosca.
Since the Kickstarter campaign of Oculus Rift in August 2012, Virtual Reality has started to rise (again), attracting developers over the years to experiment, creating games and immersive experiences. Currently, developing for virtual reality is not foregone: compared to others media, developers must be aware of motion sickness, consider human limitations and rethink almost completely how user interfaces work in VR. In this talk, from direct experience of developing VR games and applications, techniques and tips will be shared to create comfortable user-controlled moving experiences.
9. Locomotion
What is locomotion?
- Self motion by which an organism
changes its location
- More generally known as navigation
- Walking, running, crawling, flying…
10. Locomotion
Locomotion in non-VR apps
- The user moves his avatar
- Defined inputs to move the avatar
through a controller
- Defined rules to constrain the avatar
position and movements
12. Locomotion
Locomotion in VR
- The user moves himself
- The user head / body is
part of the input controller
- The program can’t
constrain the user
movements.
13. Locomotion
Locomotion in VR
- The user moves himself
- The user head / body is
part of the input controller
- The program can’t
constrain the user
movements.
- (But you can!)
14. Locomotion
Locomotion in VR: problems
- Simulator sickness (cyber sickness, VR
sickness, «the new name you came up
with» sickness)
- Violation of boundaries of the world
- Locomotion inputs for non-gamer people
- Did I forget to mention simulator
sickness?
18. Understanding simulator sickness
To know your Enemy, you must become
your Enemy
– Sun Tzu
Human specs: 3 motion-sensing systems
- Visual ( eyes detect vection )
- Vestibular ( inner ear )
- Proprioceptive ( body sensation )
- Normally, the three systems agree.
19. Understanding simulator sickness
Simulator Sickness
In VR there’s only visual illusion
- Room scale with real locomotion Good
- Virtual locomotion Vection
Vection: visual cues, but not the other 2
Body interprets sensory mismatch as
poisoning and reacts by purging.
PLEASE DO NOT FIGHT IT.
21. Development tips on simulator sickness
Eletric signals to your vestibular system?
22. Development tips on simulator sickness
Becoming deaf?
Deaf people do not suffer simulator (or car)
sickness, due to lack of working vestibular
system.
I’m sure you’re willing to become deaf for
the sake of virtual reality, but probably your
users won’t.
27. Development tips on simulator sickness
2nd rule of the VR club
The 1° rule sometimes can be wrong.
Break the 1° rule.
Following 1° rule is definitely safe, but…
Playtest, and experiment.
You need / want to break the 1° rule?
Playtest^2. That’s how 1° rule was written.
28. Development tips on simulator sickness
Summary of 1° rule
- No static splash screens glued to your face
- The user HAS TO be able to look around, always.
Even in menus. Even in cutscenes.
- Run at the maximum fps of the headset
- Accelerations are bad, expecially vertical and
side ones. Use them the least you can.
- Everything that moves your camera, except your
head, is bad ( NO head bobbing. NO camera
shake!)
29. Development tips on simulator sickness
Dev tip 0
- In 1° person movement, use constant move
speed. No acceleration when starting to move.
Go from 0 to 1.4 m/s in an instant.
31. Development tips on simulator sickness
Dev tip 0
Remember gravity force? That’s an acceleration.
Remember what I said about constant speed?
Very well. Gravity will be constant speed
(Newton doesn’t like this element)
(Your users will)
33. Development tips on simulator sickness
Dev tip 1
Mouse / Gamepad Yaw are horribly bad (they use
accelerations!).
So, turning using mouse-gamepad is prone to
sickness, while turning with your head is fine.
Use different input / approaches to handle this
34. Development tips on simulator sickness
Use comfort mode / rotation rachets at 30°
35. Development tips on simulator sickness
Turning your head over an angle makes you turn
36. Development tips on simulator sickness
Trick your body.
"Your ears are OK at telling you you're accelerating, but
they're shit sensors ... by the time you're about 4, you're
mostly getting your balance information from your eyes ... as
long as you're in the ballpark you can feed the eyes
anything," Griesemer said. "We make it so that when you're
in the headset sitting, and you turn around so you're looking
behind you, you're only looking around 90 degrees.“
"Your vestibular system is so easy to fool," O'Donnell said.
And the hell of it? It works.
38. Development tips on simulator sickness
Dev tip 10
Providing a stable frame reference while turning
helps to reduce sickness.
A skybox that stays fixed while you move and turns.
A cockpit.
Vision tunneling
‘A dogfight with Elite dangerous in VR is
unexpectedly comfortable’
42. Development tips on simulator sickness
Dev tip 11
There are actually various ways to achieve
movement in VR.
Teleportation is widely used both for seated and
roomscale, and is definitely comfortable.
Moving on a veichle is definitely comfortable.
Doing a table top or 3° person view is good!
44. Development tips on boundaries
Dev tip 100
Do you want your player to look beyond walls or
objects?
If the answer is no, the simplest thing you can do
(but effective) is to enlarge the colliders of the
player (or of the environment).
But beware of drawbacks! (cannot see closely some
details)
45. Development tips on UI
Dev tip 101
Have you tought about user interface?
For the best quality and immersion, you want the
«diegetic» interface. Meaning, the UI should be
integrated in the world.
Life bar? Put it on some object you’re carrying
49. Thanks!
ROME 18-19 MARCH 2016
Contacts:
Twitter: @Gounemond
Mail: fabio.mosca.cs@gmail.com
Web: www.4stepsInVR.com
All pictures belong
to their respective authors