SlideShare a Scribd company logo
1 of 39
VR in Action
VR Landscape +
Making a VR Pool game with Unity, Oculus and VRTK
NIALL MCLOUGHLIN
@NEILLNIALL
1
Newry Software Meetup
Agenda
• WHAT IS VIRTUAL
REALITY?
• HISTORY
• DEVICES
• APPLICATIONS
• FIRST STEPS IN VR
• WHAT SKILLS ARE
BENEFICIAL?
• DEVELOPMENT
OPTIONS
• UNITY OVERVIEW
• OCULUS / VRTK
• VR POOL DESIGN
Niall McLoughlin 2
What is Virtual Reality?
VIRTUAL REALITY (VR) IS THE USE OF COMPUTER
TECHNOLOGY TO CREATE A DIGITALLY GENERATED
SIMULATED ENVIRONMENT.
UNLIKE TRADITIONAL USER INTERFACES, VR PLACES
THE USER INSIDE AN EXPERIENCE.
INSTEAD OF VIEWING A SCREEN IN FRONT OF THEM,
USERS ARE IMMERSED AND ABLE TO INTERACT WITH
3D WORLDS.
3
History of
Virtual Reality
4
VR Landmarks
 1962 - Sensorama
 1968 UHD – Ivan Sutherland
 1990 - Virtual Environment
Workstation - NASA
 1991/92 - Arcade VR
 1991 - Sega VR 91 / Nintendo Virtual
Boy
 Randy Pausch – Building Virtual
Worlds at Carnegie Mellon
 2012 - Oculus Rift Kickstarter
Niall McLoughlin
5
VR Buzz 6
https://www.statista.com/topics/2532/virtual-reality-vr/
VR Hardware and
Software Market
estimated to be worth
$40.4bn by 2020
37 Million
Units by
2020
Games account
for 48% of VR
market in 2018
VR
Devices
• OCULUS RIFT
• PLAYSTATION VR
• GEAR VR
• HTC VIVE
• MICROSOFT MIXED
REALITY
Niall McLoughlin
7
What next for VR
hardware?
• SMALLER
• WIRELESS
• LIGHTER
• MORE COMFORTABLE
• BETTER INPUT DEVICES
• INSIDE OUT TRACKING
• EYE TRACKING
Niall McLoughlin
8
What makes VR different?
• 3D SPACE
• IMMERSIVE
• REALISM
• TACTILE
• SOCIAL (ANTI?)
• EXPLORATION
• UNIQUE EXPERIENCES
9
Commercial
Applications
10
Non Gaming
Applications
Niall McLoughlin
11
DESIGN – Native 3D
SOCiAL
EXPERIENCES
CINEMA
HEALTHCARE
•Training and Treatment EDUCATION
SPORTS TRAINING –
US SKI TEAM
ARCHITECTURE MARKETING TRAVEL
SHOPPING DATA ANALYTICS CHARITY
Google Blocks 12
Popular VR Games 13
• SUPERHOT VR
• JOB SIMULATOR
• RESIDENT EVIL 7
• SPORTS BAR VR
• ELEVEN – TABLE TENNIS VR
• LUCKY’S TALE
Sprint Vector 14
First Steps in VR
Development..
15
New medium
– Different
Concerns
• Motion Sickness - Acceleration without
frame of reference can cause body to
interpret this as poisoning
Physiological
• Immersive experiences can cause
enhanced reactions – so upsetting
scenes may be more impactful in VR
Psychological
• Surrounding space could present
dangers
• Cables get tangled
Environmental
Niall McLoughlin
16
Important Skills
• 3D MODELLING
• UNITY / UNREAL
• C#
• PHYSICS
• MATHS
• SAFE VR DESIGN
• DESIGN PATTERNS
• ALGORITHM
OPTIMIZATION
17
Development Options
Game Engine
Unity vs
Unreal
SDK
Steam VR SDK
vs Oculus SDK
VR Libraries
VRTK vs
Newton VR
Niall McLoughlin
18
Unity Basics
Niall McLoughlin 19
 Game Object
 Nestable
 Primitives e.g. cube, sphere
 Transform
 Position
 Rotation
 Rigidbody
 Velocity
 Quaternion
 Colliders
 Renderer
 Textures
 Materials
 UI Canvas
 Buttons / Text / Sliders / InputText etc
 Classes
 MonoBehaviour / ScriptableObject / C# Class
VRTK
 Radial Menus
 Quickly setup menus
attached to controllers
 Complex Object
Mechanics
 1 and 2 hand Guns /
Crossbows
 Levers / Dials
 Teleporting
20
VR Pool
21
VR Pool - Goals
Have something
to demo in
Newry!
1
Gain experience
with VRTK API
2
Contrast VRTK vs
Oculus SDK
3
Develop a
working pool
simulation
4
Niall McLoughlin
22
Design Considerations for VR Pool
•Teleporting added initially to try to solve that problem
•Design evolved to rotate table to minimize need for teleporting
•Room remains in place to keep frame of reference
Minimize locomotion
•Without a surface to lean targeting during cueing was difficult – so trigger locks the cue movement to only one axis.Realistic Cueing Action
•Physics materials trialled to give more realistic collisions between balls, cue and cushionsDependable Collisions
Niall McLoughlin
23
What’s in the box?
 Environment
 Pool Table 3D Model
 Unity Texturing – room, balls
 Mechanics
 VRTK Two Hand Grab Mechanic
 VRTK Teleport
 Oculus SDK Input Events – cueing / rotate table
 VRTK Radial Menu – reset cue / reset game
 Pool Game Logic
 EventManager
 Finite State Machine = reuse of Unity Animator
24
Unity Demo
25
Unity Editor
Niall McLoughlin 26
VRTK Setup
 VRTK_SDK Manager
Abstracts SteamVR /
Oculus SDKs
 VRTK Controller Scripts
Interact Touch
Interact Grab Proxy
VRTK Pointer +
Renderer
Radial Menu
 Object (Cue) Scripts
27
VRTK Components 28
Game Logic
• Decouples GameObject when there may be a variable number of
dependent objects
EventManager / FSM
Yellow/Red/Black Deposit
• Cue Ball Respawn
• Wrong ball potted
• No ball touched
• Ball off table
• Two different balls potted
Foul Detection
Score Manager
Niall McLoughlin
29
Leveraging FSM
from Unity
Animator
30
 Pool game rules implemented as part of a Unity Animator
Finite State Machine.
 Important game events emitted as events that
GameManager sets as triggers/parameters in the FSM.
 States can only transition if triggers/parameters are set
 Example valid path:
 Cue > White > Red> Potted Red
 Example foul path:
 Cue > White > Red > Yellow
 StateMachineBehaviour subclasses associated to states in
some cases
 Loose coupling vs Unity prefab relationships
Design Diagram 31
Example Script
for Rotate
Table
 This came as a necessity
really to reduce need for
moving around the
scene with teleport –
even with teleport the
orientation of the player
can be confusing
32
Evolution
Primitive Shapes – Cue/ Balls
VRTK Examples Analysis
• Grab Mechanic Trialled
• Radial Menu
• Teleporting
Pool Table Model
Oculus API used for finer control of
cueing mechanic
Physics Testing
• More Physics Testing
Event System
Scoreboard
Respawning
Foul Detection
Niall McLoughlin
33
First Draft 34
Physics Testing 35
Taking a Shot 36
Next Steps
Improved physics
Improved collisions
Multiplayer
Single Player opponent AI
Niall McLoughlin
37
Summary
 Enjoyable proof of concept that has helped gain
familiarity with VRTK
 VRTK makes it quite easy to implement a number of
common VR features
 VRTK enables deployment to various storefronts by
abstracting the SDK
 Fall back on traditional design/programming
techniques to solve problems
 Unity is used for 50% of mobile games and many
consoles – so the added bonus that it is heavily
investing in VR helps to re-use skills for many
platforms
 Developing directly alongside the VR headset is
important but desk gets a bit cluttered!
Niall McLoughlin 38
Thanks for
having me
@neillniall
Niall McLoughlin 39

More Related Content

Similar to VR In Action - Creating a VR Pool Game with Unity, Oculus and VRTK

Virtual World
Virtual WorldVirtual World
Virtual WorldSahith An
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual RealityOmar Ghazi
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas Gupta
 
SAE AR/VR - The challenges of creating a VR application with Unity
SAE AR/VR - The challenges of creating a VR application with UnitySAE AR/VR - The challenges of creating a VR application with Unity
SAE AR/VR - The challenges of creating a VR application with UnitySebastien Kuntz
 
DRCOG: The Geospatial Revolution Peter Batty
DRCOG: The Geospatial Revolution Peter BattyDRCOG: The Geospatial Revolution Peter Batty
DRCOG: The Geospatial Revolution Peter BattyPeter Batty
 
Augmented reality (Access virtual world)
Augmented reality (Access virtual world)Augmented reality (Access virtual world)
Augmented reality (Access virtual world)chirag thakkar
 
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Umbra
 
History of Virtual Reality
History of Virtual RealityHistory of Virtual Reality
History of Virtual RealityMatthew Doyle
 
COMP 4010 - Lecture1 Introduction to Virtual Reality
COMP 4010 - Lecture1 Introduction to Virtual RealityCOMP 4010 - Lecture1 Introduction to Virtual Reality
COMP 4010 - Lecture1 Introduction to Virtual RealityMark Billinghurst
 
Using Deep Learning to Derive 3D Cities from Satellite Imagery
Using Deep Learning to Derive 3D Cities from Satellite ImageryUsing Deep Learning to Derive 3D Cities from Satellite Imagery
Using Deep Learning to Derive 3D Cities from Satellite ImageryAstraea, Inc.
 
Pandu augmentedreality
Pandu augmentedrealityPandu augmentedreality
Pandu augmentedrealitypandu sabhavat
 
Experiments with Complex Scientific Applications on Hybrid Cloud Infrastructures
Experiments with Complex Scientific Applications on Hybrid Cloud InfrastructuresExperiments with Complex Scientific Applications on Hybrid Cloud Infrastructures
Experiments with Complex Scientific Applications on Hybrid Cloud InfrastructuresRafael Ferreira da Silva
 
Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Mark Billinghurst
 
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3jasinb
 
The effects of visual realism on search tasks in mixed reality simulations-IE...
The effects of visual realism on search tasks in mixed reality simulations-IE...The effects of visual realism on search tasks in mixed reality simulations-IE...
The effects of visual realism on search tasks in mixed reality simulations-IE...Yadhu Kiran
 
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례Hwanhee Kim
 
(2015/09) Drone Imagery Economics
(2015/09) Drone Imagery Economics(2015/09) Drone Imagery Economics
(2015/09) Drone Imagery EconomicsMartin Scholl
 
[RSS2023] Local Object Crop Collision Network for Efficient Simulation
[RSS2023] Local Object Crop Collision Network for Efficient Simulation[RSS2023] Local Object Crop Collision Network for Efficient Simulation
[RSS2023] Local Object Crop Collision Network for Efficient SimulationDongwonSon1
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
 
Building a Holodeck
Building a HolodeckBuilding a Holodeck
Building a HolodeckJon Radoff
 

Similar to VR In Action - Creating a VR Pool Game with Unity, Oculus and VRTK (20)

Virtual World
Virtual WorldVirtual World
Virtual World
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 
SAE AR/VR - The challenges of creating a VR application with Unity
SAE AR/VR - The challenges of creating a VR application with UnitySAE AR/VR - The challenges of creating a VR application with Unity
SAE AR/VR - The challenges of creating a VR application with Unity
 
DRCOG: The Geospatial Revolution Peter Batty
DRCOG: The Geospatial Revolution Peter BattyDRCOG: The Geospatial Revolution Peter Batty
DRCOG: The Geospatial Revolution Peter Batty
 
Augmented reality (Access virtual world)
Augmented reality (Access virtual world)Augmented reality (Access virtual world)
Augmented reality (Access virtual world)
 
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
 
History of Virtual Reality
History of Virtual RealityHistory of Virtual Reality
History of Virtual Reality
 
COMP 4010 - Lecture1 Introduction to Virtual Reality
COMP 4010 - Lecture1 Introduction to Virtual RealityCOMP 4010 - Lecture1 Introduction to Virtual Reality
COMP 4010 - Lecture1 Introduction to Virtual Reality
 
Using Deep Learning to Derive 3D Cities from Satellite Imagery
Using Deep Learning to Derive 3D Cities from Satellite ImageryUsing Deep Learning to Derive 3D Cities from Satellite Imagery
Using Deep Learning to Derive 3D Cities from Satellite Imagery
 
Pandu augmentedreality
Pandu augmentedrealityPandu augmentedreality
Pandu augmentedreality
 
Experiments with Complex Scientific Applications on Hybrid Cloud Infrastructures
Experiments with Complex Scientific Applications on Hybrid Cloud InfrastructuresExperiments with Complex Scientific Applications on Hybrid Cloud Infrastructures
Experiments with Complex Scientific Applications on Hybrid Cloud Infrastructures
 
Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality
 
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in The Witcher 3: Wild Hunt with Umbra 3
 
The effects of visual realism on search tasks in mixed reality simulations-IE...
The effects of visual realism on search tasks in mixed reality simulations-IE...The effects of visual realism on search tasks in mixed reality simulations-IE...
The effects of visual realism on search tasks in mixed reality simulations-IE...
 
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
 
(2015/09) Drone Imagery Economics
(2015/09) Drone Imagery Economics(2015/09) Drone Imagery Economics
(2015/09) Drone Imagery Economics
 
[RSS2023] Local Object Crop Collision Network for Efficient Simulation
[RSS2023] Local Object Crop Collision Network for Efficient Simulation[RSS2023] Local Object Crop Collision Network for Efficient Simulation
[RSS2023] Local Object Crop Collision Network for Efficient Simulation
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
 
Building a Holodeck
Building a HolodeckBuilding a Holodeck
Building a Holodeck
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

VR In Action - Creating a VR Pool Game with Unity, Oculus and VRTK

  • 1. VR in Action VR Landscape + Making a VR Pool game with Unity, Oculus and VRTK NIALL MCLOUGHLIN @NEILLNIALL 1 Newry Software Meetup
  • 2. Agenda • WHAT IS VIRTUAL REALITY? • HISTORY • DEVICES • APPLICATIONS • FIRST STEPS IN VR • WHAT SKILLS ARE BENEFICIAL? • DEVELOPMENT OPTIONS • UNITY OVERVIEW • OCULUS / VRTK • VR POOL DESIGN Niall McLoughlin 2
  • 3. What is Virtual Reality? VIRTUAL REALITY (VR) IS THE USE OF COMPUTER TECHNOLOGY TO CREATE A DIGITALLY GENERATED SIMULATED ENVIRONMENT. UNLIKE TRADITIONAL USER INTERFACES, VR PLACES THE USER INSIDE AN EXPERIENCE. INSTEAD OF VIEWING A SCREEN IN FRONT OF THEM, USERS ARE IMMERSED AND ABLE TO INTERACT WITH 3D WORLDS. 3
  • 5. VR Landmarks  1962 - Sensorama  1968 UHD – Ivan Sutherland  1990 - Virtual Environment Workstation - NASA  1991/92 - Arcade VR  1991 - Sega VR 91 / Nintendo Virtual Boy  Randy Pausch – Building Virtual Worlds at Carnegie Mellon  2012 - Oculus Rift Kickstarter Niall McLoughlin 5
  • 6. VR Buzz 6 https://www.statista.com/topics/2532/virtual-reality-vr/ VR Hardware and Software Market estimated to be worth $40.4bn by 2020 37 Million Units by 2020 Games account for 48% of VR market in 2018
  • 7. VR Devices • OCULUS RIFT • PLAYSTATION VR • GEAR VR • HTC VIVE • MICROSOFT MIXED REALITY Niall McLoughlin 7
  • 8. What next for VR hardware? • SMALLER • WIRELESS • LIGHTER • MORE COMFORTABLE • BETTER INPUT DEVICES • INSIDE OUT TRACKING • EYE TRACKING Niall McLoughlin 8
  • 9. What makes VR different? • 3D SPACE • IMMERSIVE • REALISM • TACTILE • SOCIAL (ANTI?) • EXPLORATION • UNIQUE EXPERIENCES 9
  • 11. Non Gaming Applications Niall McLoughlin 11 DESIGN – Native 3D SOCiAL EXPERIENCES CINEMA HEALTHCARE •Training and Treatment EDUCATION SPORTS TRAINING – US SKI TEAM ARCHITECTURE MARKETING TRAVEL SHOPPING DATA ANALYTICS CHARITY
  • 13. Popular VR Games 13 • SUPERHOT VR • JOB SIMULATOR • RESIDENT EVIL 7 • SPORTS BAR VR • ELEVEN – TABLE TENNIS VR • LUCKY’S TALE
  • 15. First Steps in VR Development.. 15
  • 16. New medium – Different Concerns • Motion Sickness - Acceleration without frame of reference can cause body to interpret this as poisoning Physiological • Immersive experiences can cause enhanced reactions – so upsetting scenes may be more impactful in VR Psychological • Surrounding space could present dangers • Cables get tangled Environmental Niall McLoughlin 16
  • 17. Important Skills • 3D MODELLING • UNITY / UNREAL • C# • PHYSICS • MATHS • SAFE VR DESIGN • DESIGN PATTERNS • ALGORITHM OPTIMIZATION 17
  • 18. Development Options Game Engine Unity vs Unreal SDK Steam VR SDK vs Oculus SDK VR Libraries VRTK vs Newton VR Niall McLoughlin 18
  • 19. Unity Basics Niall McLoughlin 19  Game Object  Nestable  Primitives e.g. cube, sphere  Transform  Position  Rotation  Rigidbody  Velocity  Quaternion  Colliders  Renderer  Textures  Materials  UI Canvas  Buttons / Text / Sliders / InputText etc  Classes  MonoBehaviour / ScriptableObject / C# Class
  • 20. VRTK  Radial Menus  Quickly setup menus attached to controllers  Complex Object Mechanics  1 and 2 hand Guns / Crossbows  Levers / Dials  Teleporting 20
  • 22. VR Pool - Goals Have something to demo in Newry! 1 Gain experience with VRTK API 2 Contrast VRTK vs Oculus SDK 3 Develop a working pool simulation 4 Niall McLoughlin 22
  • 23. Design Considerations for VR Pool •Teleporting added initially to try to solve that problem •Design evolved to rotate table to minimize need for teleporting •Room remains in place to keep frame of reference Minimize locomotion •Without a surface to lean targeting during cueing was difficult – so trigger locks the cue movement to only one axis.Realistic Cueing Action •Physics materials trialled to give more realistic collisions between balls, cue and cushionsDependable Collisions Niall McLoughlin 23
  • 24. What’s in the box?  Environment  Pool Table 3D Model  Unity Texturing – room, balls  Mechanics  VRTK Two Hand Grab Mechanic  VRTK Teleport  Oculus SDK Input Events – cueing / rotate table  VRTK Radial Menu – reset cue / reset game  Pool Game Logic  EventManager  Finite State Machine = reuse of Unity Animator 24
  • 27. VRTK Setup  VRTK_SDK Manager Abstracts SteamVR / Oculus SDKs  VRTK Controller Scripts Interact Touch Interact Grab Proxy VRTK Pointer + Renderer Radial Menu  Object (Cue) Scripts 27
  • 29. Game Logic • Decouples GameObject when there may be a variable number of dependent objects EventManager / FSM Yellow/Red/Black Deposit • Cue Ball Respawn • Wrong ball potted • No ball touched • Ball off table • Two different balls potted Foul Detection Score Manager Niall McLoughlin 29
  • 30. Leveraging FSM from Unity Animator 30  Pool game rules implemented as part of a Unity Animator Finite State Machine.  Important game events emitted as events that GameManager sets as triggers/parameters in the FSM.  States can only transition if triggers/parameters are set  Example valid path:  Cue > White > Red> Potted Red  Example foul path:  Cue > White > Red > Yellow  StateMachineBehaviour subclasses associated to states in some cases  Loose coupling vs Unity prefab relationships
  • 32. Example Script for Rotate Table  This came as a necessity really to reduce need for moving around the scene with teleport – even with teleport the orientation of the player can be confusing 32
  • 33. Evolution Primitive Shapes – Cue/ Balls VRTK Examples Analysis • Grab Mechanic Trialled • Radial Menu • Teleporting Pool Table Model Oculus API used for finer control of cueing mechanic Physics Testing • More Physics Testing Event System Scoreboard Respawning Foul Detection Niall McLoughlin 33
  • 37. Next Steps Improved physics Improved collisions Multiplayer Single Player opponent AI Niall McLoughlin 37
  • 38. Summary  Enjoyable proof of concept that has helped gain familiarity with VRTK  VRTK makes it quite easy to implement a number of common VR features  VRTK enables deployment to various storefronts by abstracting the SDK  Fall back on traditional design/programming techniques to solve problems  Unity is used for 50% of mobile games and many consoles – so the added bonus that it is heavily investing in VR helps to re-use skills for many platforms  Developing directly alongside the VR headset is important but desk gets a bit cluttered! Niall McLoughlin 38

Editor's Notes

  1. https://www.digitalpulse.pwc.com.au/infographic-history-virtual-reality/