SlideShare una empresa de Scribd logo
1 de 49
Virtual Reality 101: development
tips for moving experiences
Author: Fabio Mosca – Digital Mantis
ROME 18-19 MARCH 2016
About me
<Mosca Fabio>
Virtual reality and game developer
<4StepsInVR> <B2B applications>
VR Experience types
SEATED – Fixed position
VR Experience types
SEATED – 1° person movement
VR Experience types
SEATED – 3rd person movement
VR Experience types
STANDING
VR Experience types
ROOM SCALE
VR Experience types
VR PARKS
Locomotion
What is locomotion?
- Self motion by which an organism
changes its location
- More generally known as navigation
- Walking, running, crawling, flying…
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
Locomotion
Definitely an experiment on avatar constraints
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.
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!)
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?
Locomotion
Entering in the mystic world beyond the geodata
Locomotion
Why locomotion in your apps?
- Supporting large virtual worlds
- More immersion
- Hey, it’s cool!
Locomotion
- Until we get those, we have to find our
workarounds!
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.
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.
Development tips on simulator sickness
Time to solve problems!
Development tips on simulator sickness
Eletric signals to your vestibular system?
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.
Development tips on simulator sickness
Developer approach
C#
C++
Development tips on simulator sickness
1st rule of the VR club
Development tips on simulator sickness
1st rule of the VR club
Development tips on simulator sickness
2nd rule of the VR club?
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.
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!)
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.
Development tips on simulator sickness
Dev tip 0
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)
Development tips on simulator sickness
Dev tip 0
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
Development tips on simulator sickness
Use comfort mode / rotation rachets at 30°
Development tips on simulator sickness
Turning your head over an angle makes you turn
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.
Development tips on simulator sickness
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’
Development tips on simulator sickness
Development tips on simulator sickness
Development tips on simulator sickness
Tunneling vision
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!
Development tips on simulator sickness
Teleportation systems
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)
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
Development tips on UI
Dev tip 101
Development tips on UI
Dev tip 101
Q&A!
ROME 18-19 MARCH 2016
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

Más contenido relacionado

Más de Codemotion

Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Codemotion
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Codemotion
 
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019Codemotion
 
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019Codemotion
 

Más de Codemotion (20)

Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
 
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019
Rahul Shetty - Corporate relocation prediction - Codemotion Amsterdam 2019
 
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019
Mario Viviani - Designing apps for fire TV - Codemotion Amsterdam 2019
 

Último

WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 

Último (20)

WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Virtual Reality 101: development tips for moving experiences

  • 1. Virtual Reality 101: development tips for moving experiences Author: Fabio Mosca – Digital Mantis ROME 18-19 MARCH 2016
  • 2. About me <Mosca Fabio> Virtual reality and game developer <4StepsInVR> <B2B applications>
  • 3. VR Experience types SEATED – Fixed position
  • 4. VR Experience types SEATED – 1° person movement
  • 5. VR Experience types SEATED – 3rd person movement
  • 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
  • 11. Locomotion Definitely an experiment on avatar constraints
  • 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?
  • 15. Locomotion Entering in the mystic world beyond the geodata
  • 16. Locomotion Why locomotion in your apps? - Supporting large virtual worlds - More immersion - Hey, it’s cool!
  • 17. Locomotion - Until we get those, we have to find our workarounds!
  • 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.
  • 20. Development tips on simulator sickness Time to solve problems!
  • 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.
  • 23. Development tips on simulator sickness Developer approach C# C++
  • 24. Development tips on simulator sickness 1st rule of the VR club
  • 25. Development tips on simulator sickness 1st rule of the VR club
  • 26. Development tips on simulator sickness 2nd rule of the VR club?
  • 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.
  • 30. Development tips on simulator sickness Dev tip 0
  • 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)
  • 32. Development tips on simulator sickness Dev tip 0
  • 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.
  • 37. Development tips on simulator sickness
  • 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’
  • 39. Development tips on simulator sickness
  • 40. Development tips on simulator sickness
  • 41. Development tips on simulator sickness Tunneling vision
  • 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!
  • 43. Development tips on simulator sickness Teleportation systems
  • 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
  • 46. Development tips on UI Dev tip 101
  • 47. Development tips on UI Dev tip 101
  • 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