Virtual Reality 101: development tips for moving experiences

49
Virtual Reality 101: development tips for moving experiences Author: Fabio Mosca – Digital Mantis ROME 18-19 MARCH 2016

Transcript of Virtual Reality 101: development tips for moving experiences

Title

Virtual Reality 101: development tips for moving experiencesAuthor: Fabio Mosca Digital Mantis

ROME 18-19 MARCH 2016

About me

Virtual reality and game developer

VR Experience typesSEATED Fixed position

VR Experience typesSEATED 1 person movement

VR Experience typesSEATED 3rd person movement

VR Experience typesSTANDING

VR Experience typesROOM SCALE

VR Experience typesVR PARKS

LocomotionWhat is locomotion?Self motion by which an organism changes its locationMore generally known as navigationWalking, running, crawling, flying

LocomotionLocomotion in non-VR appsThe user moves his avatar

Defined inputs to move the avatar through a controller

Defined rules to constrain the avatar position and movements

Locomotion

Definitely an experiment on avatar constraints

LocomotionLocomotion in VRThe user moves himselfThe user head / body is part of the input controllerThe program cant constrain the user movements.

LocomotionLocomotion in VRThe user moves himselfThe user head / body is part of the input controllerThe program cant constrain the user movements.

(But you can!)

LocomotionLocomotion in VR: problemsSimulator sickness (cyber sickness, VR sickness, the new name you came up with sickness)Violation of boundaries of the worldLocomotion inputs for non-gamer people Did I forget to mention simulator sickness?

Locomotion

Entering in the mystic world beyond the geodata

LocomotionWhy locomotion in your apps?Supporting large virtual worldsMore immersionHey, its cool!

LocomotionUntil we get those, we have to find our workarounds!

Understanding simulator sicknessTo know your Enemy, you must become your Enemy Sun Tzu

Human specs: 3 motion-sensing systemsVisual ( eyes detect vection )Vestibular ( inner ear )Proprioceptive ( body sensation )

Normally, the three systems agree.

Understanding simulator sicknessSimulator Sickness

In VR theres only visual illusion- Room scale with real locomotion GoodVirtual locomotion VectionVection: visual cues, but not the other 2

Body interprets sensory mismatch as poisoning and reacts by purging.

PLEASE DO NOT FIGHT IT.

Development tips on simulator sicknessTime to solve problems!

Development tips on simulator sickness

Eletric signals to your vestibular system?

Development tips on simulator sicknessBecoming deaf?Deaf people do not suffer simulator (or car) sickness, due to lack of working vestibular system.

Im sure youre willing to become deaf for the sake of virtual reality, but probably your users wont.

Development tips on simulator sicknessDeveloper approach

C#C++

Development tips on simulator sickness1st rule of the VR club

Development tips on simulator sickness1st rule of the VR club

Development tips on simulator sickness2nd rule of the VR club?

Development tips on simulator sickness2nd rule of the VR clubThe 1 rule sometimes can be wrong.Break the 1 rule.

Following 1 rule is definitely safe, butPlaytest, and experiment.

You need / want to break the 1 rule? Playtest^2. Thats how 1 rule was written.

Development tips on simulator sicknessSummary of 1 ruleNo static splash screens glued to your faceThe user HAS TO be able to look around, always. Even in menus. Even in cutscenes.Run at the maximum fps of the headsetAccelerations 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!)

Development tips on simulator sicknessDev tip 0In 1 person movement, use constant move speed. No acceleration when starting to move. Go from 0 to 1.4 m/s in an instant.

Development tips on simulator sicknessDev tip 0

Development tips on simulator sicknessDev tip 0Remember gravity force? Thats an acceleration.

Remember what I said about constant speed?

Very well. Gravity will be constant speed (Newton doesnt like this element)

(Your users will)

Development tips on simulator sicknessDev tip 0

Development tips on simulator sicknessDev tip 1Mouse / 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

Development tips on simulator sicknessUse comfort mode / rotation rachets at 30

Development tips on simulator sicknessTurning your head over an angle makes you turn

Development tips on simulator sicknessTrick 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.

Development tips on simulator sickness

Development tips on simulator sicknessDev tip 10Providing 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

Development tips on simulator sickness

Development tips on simulator sickness

Development tips on simulator sicknessTunneling vision

Development tips on simulator sicknessDev tip 11There 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!

Development tips on simulator sicknessTeleportation systems

Development tips on boundariesDev tip 100Do 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)

Development tips on UIDev tip 101Have 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 youre carrying

Development tips on UIDev tip 101

Development tips on UIDev tip 101

Q&A!

ROME 18-19 MARCH 2016

Thanks!

ROME 18-19 MARCH 2016Contacts:Twitter: @GounemondMail: [email protected]: www.4stepsInVR.com

All pictures belongto their respective authors