SlideShare a Scribd company logo
1 of 112
Download to read offline
CARDBOARD VR: BUILDING
LOW COST VR EXPERIENCES
Mark Billinghurst
mark.billinghurst@unisa.edu.au
April 14th 2016
CHIuXiD
What You Will Learn
• Virtual Reality Fundamentals + History
• How to Build Cardboard VR Viewer
• Example Cardboard VR Applications
• Basics of Unity Programming
• How to Make Panorama VR Applications
• How to Create VR Scenes
• How to Add Interactivity to VR Applications
• Cardboard Design guidelines
VIRTUAL REALITY
Virtual Reality
Computer generated multi-sensory simulation of an
artificial environment that is interactive and immersive.
David Zeltzer’s AIP Cube
! Autonomy – User can to
react to events and stimuli.
! Interaction – User can
interact with objects and
environment.
! Presence – User feels
immersed through sensory
input and output channels
Interaction
Autonomy
Presence
VR
Zeltzer, D. (1992). Autonomy, interaction, and presence. Presence: Teleoperators
& Virtual Environments, 1(1), 127-132.
Key Technologies
• Autonomy
•  Head tracking, body input
•  Intelligent systems
• Interaction
•  User input devices, HCI
• Presence
•  Graphics/audio/multisensory output
•  Multisensory displays
•  Visual, audio, haptic, olfactory, etc
Early Experimenters (1950’s – 80’s)
Helig 1956
Sutherland 1965
Furness 1970’s
The First Wave (1980’s – 90’s)
NASA 1989
VPL 1990’s
Virtuality 1990’s
Jaron Lanier
•  Founded VPL, coined term “Virtual Reality”
Desktop VR - 1995
•  Expensive - $150,000+
•  2 million polys/sec
•  VGA HMD – 30 Hz
•  Magnetic tracking
Second Wave (2010 - )
• Palmer Luckey
•  HMD hacker
•  Mixed Reality Lab (MxR)
• Oculus Rift (2011 - )
•  2012 - $2.4 million kickstarter
•  2014 - $2B acquisition FaceBook
•  $350 USD, 110o FOV
•  sddg
Oculus Rift
Sony Morpheus
HTC/Valve Vive
2016 - Rise of Consumer HMDs
Desktop VR 2016
• Graphics Desktop
•  $1,500 USD
•  >4 Billion poly/sec
• $600 HMD
•  1080x1200, 90Hz
• Optical tracking
•  Room scale
https://immersivelifeblog.files.wordpress.com/2015/04/vr_history.jpg
Market Size
Computer Based vs. Mobile VR
Mobile VR
CPU: 300 Mhz
HDD; 9GB
RAM: 512 mb
Camera: VGA 30fps
Graphics: 500K poly/sec
1998: SGI O2 2008: Nokia N95
CPU: 332 Mhz
HDD; 8GB
RAM: 128 mb
Camera: VGA 30 fps
Graphics: 2m poly/sec
Mobile Phone AR & VR
• Mobile Phone AR
• Mobile phone
• Live camera view
• Senor input (GPS, compass)
• Mobile Phone VR
• Mobile phone
• Senor input (compass)
• Additional VR viewer
VR2GO (2013)
•  MxR Lab
•  3D print VR viewer for mobiles
•  Open source hardware + software
•  http://projects.ict.usc.edu/mxr/diy/vr2go/
Multiple Mobile VR Viewers Available
•  zxcvz
CARDBOARD VR
•  dsfsaf
Google Cardboard
• Released 2014 (Google 20% project)
• >5 million shipped/given away
• Easy to use developer tools
+ =
Cardboard
($2)
Lenses
($10)
Magnets
($6)
Velcro
($3)
Rubber
Band
(1¢)
Software
Components
Assembling the Cardboard Viewer
Version 1.0 vs Version 2.0
•  Version 1.0 – Android focused, magnetic switch, small phone
•  Version 2.0 – Touch input, iOS/Android, fits many phones
Many Different Cardboard Viewers
SAMPLE CARDBOARD
APPLICATIONS
Cardboard App
• 7 default experiences
•  Earth: Fly on Google Earth
•  Tour Guide: Visit sites with guides
•  YouTube: Watch popular videos
•  Exhibit: Examine cultural artifacts
•  Photo Sphere: Immersive photos
•  Street View: Drive along a street
•  Windy Day: Interactive short story
100’s of Google Play Cardboard apps
Sample Applications
Cardboard Camera
• Capture 360 panoramas
• Stitch together images on phone
• View in VR on Cardboard
Google Expeditions
• Teacher led VR experiences
• https://www.google.com/edu/expeditions/
Building Your Own Application
• Cardboard Viewer
•  https://www.google.com/get/cardboard/
• Smart phone
•  Android/iOS
• Cardboard SDK
•  iOS, Android, Unity
•  https://developers.google.com/cardboard/
• Unity game engine (optional)
•  https://unity3d.com
• Content
Cardboard SDK
	
Features:	
1.  Lens	distor-on	correc-on.	
2.  Head	tracking.	
3.  3D	calibra-on.	
4.  Side-by-side	rendering.	
5.  Stereo	geometry	configura-on.	
6.  User	input	event	handling.	
Unity Cardboard SDK
INTRODUCTION TO UNITY
Unity 3D Game Editor
SETUP
Download and Install
•  Go to unity3d.com/download
•  Use Download Assistant – pick components you want
Getting Started
•  First time running Unity you’ll be asked to create a project
•  Specify project name and location
•  Can pick asset packages (pre-made content)
Unity Interface
•  Toolbar, Scene, Hierarchy, Project, Inspector
Customizable Interface
Building Scenes
• Use GameObjects:
•  Containers that hold different components
•  Eg 3D model, texture, animation
• Use Inspector
•  View and edit object properties and other settings
• Use Scene View
•  Position objects, camera, lights, other GameObjects etc
• Scripting
•  Adding interaction, user input, events, etc
GameObjects
•  Every object in Scene is a GameObject
•  GameObjects contain Components
•  Eg Transform Component, Camera Component
Adding 3D Content
•  Create 3D asset using modeling package, or download
•  Fbx, Obj file format for 3D models
•  Add file to Assets folder in Project
•  When project opened 3D model added to Project View
•  Drag mesh from Project View into Hierarchy or Scene View
•  Creates a game object
Positioning/Scaling Objects
•  Click on object and choose transform
Unity Asset Store
•  Download thousands models, scripts, animations, etc
•  https://www.assetstore.unity3d.com/
UNITY BASICS
Making a Simple Scene
1.  Create New Project
2.  Create Game Object
3.  Moving main camera position
4.  Adding lights
5.  Adding more objects
6.  Adding physics
7.  Changing object materials
8.  Adding script behaviour
CreateProject
•  Create new folder and project
New Empty Project
Create GameObject
•  Load a Sphere into the scene
•  GameObject -> 3D Object -> Sphere
Moving main camera
•  Select Main Camera
•  Select translate icon
•  Move camera
Add Light
•  GameObject -> Light -> Directional Light
•  Use inspector to modify light properties (colour, intensity)
Add Physics
•  Select Sphere
•  Add Rigidbody component
•  Add Component -> Physics -> RigidBody
•  or Component -> Physics -> RigidBody
•  Modify inspector properties (mass, drag, etc)
Add More Objects
•  Add several cubes
•  GameObject -> 3D Object – Cube
•  Move cube
•  Add Rigid Body component (uncheck gravity)
Add Material
•  Assets -> Create -> Material
•  Click Albedo colour box in inspector
•  Select colour
•  Drag asset onto object to apply
Add Script
•  Assets -> Create -> C# script
•  Edit script using Mono
•  Drag script onto Game Object
Example C# Script
GameObject Rotation
using UnityEngine;

using System.Collections;



public class spin : MonoBehaviour {



    // Use this for initialization

    void Start () {

    

    }

    

    // Update is called once per frame

    void Update () {

        this.gameObject.transform.Rotate(Vector3.up*10);

    }

}

#
Scripting C# Unity 3D
•  void Awake():
•  Is called when the first scene is loaded and the game object is active
•  void Start():
•  Called on first frame update
•  void FixedUpdate():
•  Called before physics calculations are made
•  void Update():
•  Called every frame before rendering
•  void LateUpdate():
•  Once per frame after update finished
Final Spinning Cube Scene
Resources
• Unity Main site
• http://www.unity3d.com/
• Holistic Development with Unity
• http://holistic3d.com
• Official Unity Tutorials
• http://unity3d.com/learn/tutorials
• Unity Coder Blog
• http://unitycoder.com
IMMERSIVE PANORAMAS
Steps
1.  Create a new project
2.  Load the Cardboard SDK
3.  Load a panorama image asset
4.  Create a Skymap
5.  Add to VR scene
6.  Deploy to mobile phone
New Project
Load Cardboard SDK
•  Assets -> Import Package -> Custom Package
•  Navigate to CardboardSDKForUnity.unitypackage
•  Uncheck iOS (for Android build)
Load Cardboard Main Camera
•  Drag CardboardMain prefab into Hierarchy
•  Assets -> Cardboard -> Prefab
•  Delete CameraMain
Panorama Image Asset
•  Find/create suitable panorama image
•  Ideally 2K or higher resolution image
•  Google “Panorama Image Cubemap”
Add Image Asset to Project
•  Assets -> Import Asset
•  Select desired image
•  Set Texture Type to
Cubemap
•  Set mapping to Latitude-
Longitude (Cylindrical)
Create Skybox Material
•  Assets -> Create -> Material
•  Name material
•  Set Shader to Skybox -> Cubemap
•  Drag texture to cubemap
Create Skybox
•  Window -> Lighting
•  Drag Skybox material into
Skypebox form
Panorama Image in Unity
One Last Thing..
•  CardboardMain -> Head -> Main Camera
•  Set Clear Flags to Skybox
Test It Out
•  Hit play, use alt/option key + mouse to look around
Deploy to Mobile (Android)
1.  Plug phone into USB
• make sure device in debug mode
2.  Set correct build settings
3.  Player settings
• Other settings
•  Set Bundle Idenitfier -> com.Company.ProductName
• Resolution and Presentation
•  Default Orientation -> Landscape Left
4.  Build and run
Deploying to Phone
1.  Plug phone into USB
2.  Open Build Settings
3.  Change Target platform to Android
4.  Resolution and Presentation
•  Default Orientation -> Landscape Left
5.  Under Player Settings
•  Edit Bundle Identifier – eg com.UniSA.cubeTest
•  Minimum API level
6.  Build and Run
•  Select .apk file name
Running on Phone
•  Droid@Screen View on Desktop
CREATING 3D
ENVIRONMENTS
Key Steps
1.  Creating a new project
2.  Load Cardboard SDK
3.  Replace camera with CardboardMain
4.  Loading in 3D asset packages
5.  Loading a SkyDome
6.  Adding a plane floor
New Project
•  Camera replaced with CameraMain
Download Model Package
•  Magic Lamp from 3dFoin
•  Search on Asset store
Load Asset + Add to Scene
•  Assets -> Import Package -> Custom Package
•  Look for MagicLamp.unitypackage (If not installed already)
•  Drag MagicLamp_LOD0 to Hierarchy
•  Position and rotate
Import SkySphere package
•  SkySphere Volume1 on Asset store
Add SkySphere to Scene
•  Drag Skyball_WithoutCap into Hierarchy
•  SkySphere_V1 -> Meshes
•  Rotate and Scale as needed
Add Ground Plane
•  GameObject -> 3D Object -> Plane
•  Set Scale X to 2.0, Z to 2.0
Testing View
•  Use alt/option key plus mouse to rotate view
Adding More Assets
•  Load from Asset store – look for free assets
ADDING INTERACTIVITY
Adding Movement
Goal: Move in direction user looking when
Cardboard Button pressed.
• Key Steps
1.  Start with static screen
2.  Create movement script
3.  Add movement script to Camera head
4.  Deploy to mobile
Static Scene
Create Movement Script
•  Add new script object
•  Assets -> Create -> C# Script
•  Edit script in Mono
Add Script to Scene
•  Drag Script onto Head object
•  CameraboardMain -> Head
•  Uncheck Track Position Box
•  Adjust movement speed
Adding More Interactivity
•  Load Cardboard Demo application
•  Assets -> Import Package -> Custom Package
•  Load CardboardDemoForUnity.unitypackage
•  Launch Demo Scene
•  Assets -> Cardboard -> DemoScene
Features Shown
•  Gaze reticle + selection
•  Viewpoint teleportation
•  Menu panel overlay
•  Audio feedback
•  Event system
DESIGN GUIDELINES
Google Design Guidelines
• Google’s Guidelines for good VR experiences:
•  Physiological Considerations
•  Interactive Patterns
•  Setup
•  Controls
•  Feedback
•  Display Reticle
•  From http://www.google.com/design/spec-vr/designing-
for-google-cardboard/a-new-dimension.html
Physiological Considerations
• Factors to Consider
•  Head tracking
•  User control of movement
•  Use constant velocity
•  Grounding with fixed objects
•  Brightness changes
Interactive Patterns - Setup
• Setup factors to consider:
• Entering and exiting
• Headset adaptation
• Full Screen mode
• API calls
• Indicating VR apps
Interactive Patterns - Controls
• Use fuze buttons for selection in VR
Interactive Patterns - Feedback
• Use audio and haptic feedback
•  Reduce visual overload
•  Audio alerts
•  3D spatial sound
•  Phone vibrations
Interactive Patterns - Display Reticle
•  Easier for users to target objects with a display reticle
•  Can display reticle only when near target object
•  Highlight objects (e.g. with light source) that user can target
Cardboard Design Lab Application
•  Use Cardboard Design Lab app to explore design ideas
CONCLUSION
Conclusion
• Virtual Reality industry starting to boom again
• Google Cardboard provides a great entry for VR
•  Consumer hardware
•  Cheap/free viewer
•  Industry standard game engine
•  High quality content
•  Many tutorials/learning resources
• The time to get started is now!
RESOURCES
Useful Resources
•  Google Cardboard main page
•  https://www.google.com/get/cardboard/
•  Developer Website
•  https://www.google.com/get/cardboard/developers/
•  Building a VR app for Cardboard
•  http://www.sitepoint.com/building-a-google-cardboard-vr-app-in-unity/
•  Creating VR game for Cardboard
•  http://danielborowski.com/posts/create-a-virtual-reality-game-for-
google-cardboard/
•  Moving in VR space
•  http://www.instructables.com/id/Prototyping-Interactive-Environments-
in-Virtual-Re/
www.empathiccomputing.org
@marknb00
mark.billinghurst@unisa.edu.au

More Related Content

What's hot

Comp4010 Lecture4 AR Tracking and Interaction
Comp4010 Lecture4 AR Tracking and InteractionComp4010 Lecture4 AR Tracking and Interaction
Comp4010 Lecture4 AR Tracking and InteractionMark Billinghurst
 
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - UnityステーションUnity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - UnityステーションUnity Technologies Japan K.K.
 
2013 426 Lecture 1: Introduction to Augmented Reality
2013 426 Lecture 1: Introduction to Augmented Reality2013 426 Lecture 1: Introduction to Augmented Reality
2013 426 Lecture 1: Introduction to Augmented RealityMark Billinghurst
 
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】Unity Technologies Japan K.K.
 
Comp 4010 2021 - Snap Tutorial-1
Comp 4010 2021 - Snap Tutorial-1Comp 4010 2021 - Snap Tutorial-1
Comp 4010 2021 - Snap Tutorial-1Mark Billinghurst
 
Comp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingComp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingMark Billinghurst
 
Comp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and SystemsComp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and SystemsMark Billinghurst
 
COMP 4010 Lecture7 3D User Interfaces for Virtual Reality
COMP 4010 Lecture7 3D User Interfaces for Virtual RealityCOMP 4010 Lecture7 3D User Interfaces for Virtual Reality
COMP 4010 Lecture7 3D User Interfaces for Virtual RealityMark Billinghurst
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsMark Billinghurst
 
Comp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionComp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionMark Billinghurst
 
Developing AR and VR Experiences with Unity
Developing AR and VR Experiences with UnityDeveloping AR and VR Experiences with Unity
Developing AR and VR Experiences with UnityMark Billinghurst
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR InteractionMark Billinghurst
 
Comp4010 lecture3-AR Technology
Comp4010 lecture3-AR TechnologyComp4010 lecture3-AR Technology
Comp4010 lecture3-AR TechnologyMark Billinghurst
 
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionGerke Max Preussner
 
Multimodal Multi-sensory Interaction for Mixed Reality
Multimodal Multi-sensory Interaction for Mixed RealityMultimodal Multi-sensory Interaction for Mixed Reality
Multimodal Multi-sensory Interaction for Mixed RealityMark Billinghurst
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR ExperiencesMark Billinghurst
 
Unreal Engine 4 Introduction
Unreal Engine 4 IntroductionUnreal Engine 4 Introduction
Unreal Engine 4 IntroductionSperasoft
 

What's hot (20)

Lecture1 introduction to VR
Lecture1 introduction to VRLecture1 introduction to VR
Lecture1 introduction to VR
 
Comp4010 Lecture4 AR Tracking and Interaction
Comp4010 Lecture4 AR Tracking and InteractionComp4010 Lecture4 AR Tracking and Interaction
Comp4010 Lecture4 AR Tracking and Interaction
 
Unity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - UnityステーションUnity MARS導入セミナー(7月8日号) - Unityステーション
Unity MARS導入セミナー(7月8日号) - Unityステーション
 
2013 426 Lecture 1: Introduction to Augmented Reality
2013 426 Lecture 1: Introduction to Augmented Reality2013 426 Lecture 1: Introduction to Augmented Reality
2013 426 Lecture 1: Introduction to Augmented Reality
 
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
Comp 4010 2021 - Snap Tutorial-1
Comp 4010 2021 - Snap Tutorial-1Comp 4010 2021 - Snap Tutorial-1
Comp 4010 2021 - Snap Tutorial-1
 
Comp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingComp4010 lecture6 Prototyping
Comp4010 lecture6 Prototyping
 
Comp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and SystemsComp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and Systems
 
COMP 4010 Lecture7 3D User Interfaces for Virtual Reality
COMP 4010 Lecture7 3D User Interfaces for Virtual RealityCOMP 4010 Lecture7 3D User Interfaces for Virtual Reality
COMP 4010 Lecture7 3D User Interfaces for Virtual Reality
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR Systems
 
Comp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-PerceptionComp4010 2021 Lecture2-Perception
Comp4010 2021 Lecture2-Perception
 
Unityと.NET
Unityと.NETUnityと.NET
Unityと.NET
 
Developing AR and VR Experiences with Unity
Developing AR and VR Experiences with UnityDeveloping AR and VR Experiences with Unity
Developing AR and VR Experiences with Unity
 
2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction2022 COMP4010 Lecture4: AR Interaction
2022 COMP4010 Lecture4: AR Interaction
 
Comp4010 lecture3-AR Technology
Comp4010 lecture3-AR TechnologyComp4010 lecture3-AR Technology
Comp4010 lecture3-AR Technology
 
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
 
Multimodal Multi-sensory Interaction for Mixed Reality
Multimodal Multi-sensory Interaction for Mixed RealityMultimodal Multi-sensory Interaction for Mixed Reality
Multimodal Multi-sensory Interaction for Mixed Reality
 
5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR Experiences
 
Unreal Engine 4 Introduction
Unreal Engine 4 IntroductionUnreal Engine 4 Introduction
Unreal Engine 4 Introduction
 

Viewers also liked

Museums as a Framework for Educational VR Design
Museums as a Framework for Educational VR DesignMuseums as a Framework for Educational VR Design
Museums as a Framework for Educational VR DesignChris Modzelewski
 
Moca virtual tour ppt
Moca virtual tour pptMoca virtual tour ppt
Moca virtual tour pptLeah Master
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC ViveAvanade Nederland
 
Home plus virtual store
Home plus virtual storeHome plus virtual store
Home plus virtual storewilldope
 
VR and Google Cardboard
VR and Google CardboardVR and Google Cardboard
VR and Google CardboardAung Win Htut
 
Bucaramanga en los últimos 25 años
Bucaramanga en los últimos 25 añosBucaramanga en los últimos 25 años
Bucaramanga en los últimos 25 añosjosenino2002
 
AR & VR at the Science Museum - REMIX 2017
AR & VR at the Science Museum - REMIX 2017AR & VR at the Science Museum - REMIX 2017
AR & VR at the Science Museum - REMIX 2017Dave Patten
 
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016Richard Hoffmann
 
Hybrid-Realities: Merging real and virtual worlds to create unique experiences
Hybrid-Realities: Merging real and virtual worlds to create unique experiencesHybrid-Realities: Merging real and virtual worlds to create unique experiences
Hybrid-Realities: Merging real and virtual worlds to create unique experiencesNils Pokel
 
Extending the Virtual World Framework for Mobile Training
Extending the Virtual World Framework for Mobile TrainingExtending the Virtual World Framework for Mobile Training
Extending the Virtual World Framework for Mobile TrainingRonald Punako, Jr.
 
Virtual stores the future of retail
Virtual stores the future of retailVirtual stores the future of retail
Virtual stores the future of retailBharat Bharadwaj
 
Virtual Shopping
Virtual ShoppingVirtual Shopping
Virtual ShoppingDinesh Mv
 

Viewers also liked (20)

Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Virtual Reality: A Renaissance
Virtual Reality: A RenaissanceVirtual Reality: A Renaissance
Virtual Reality: A Renaissance
 
VR and google Cardboard
VR and google CardboardVR and google Cardboard
VR and google Cardboard
 
Museums as a Framework for Educational VR Design
Museums as a Framework for Educational VR DesignMuseums as a Framework for Educational VR Design
Museums as a Framework for Educational VR Design
 
Moca virtual tour ppt
Moca virtual tour pptMoca virtual tour ppt
Moca virtual tour ppt
 
Introduction to Virtual Tour
Introduction to Virtual TourIntroduction to Virtual Tour
Introduction to Virtual Tour
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC Vive
 
Home plus virtual store
Home plus virtual storeHome plus virtual store
Home plus virtual store
 
VR and Google Cardboard
VR and Google CardboardVR and Google Cardboard
VR and Google Cardboard
 
Emerging Technologies for Experiential and Immersive Learning
Emerging Technologies for Experiential and Immersive LearningEmerging Technologies for Experiential and Immersive Learning
Emerging Technologies for Experiential and Immersive Learning
 
Virtual Tour Of Canada
Virtual Tour Of CanadaVirtual Tour Of Canada
Virtual Tour Of Canada
 
3D Augmented Reality Avatars
3D Augmented Reality Avatars3D Augmented Reality Avatars
3D Augmented Reality Avatars
 
Bucaramanga en los últimos 25 años
Bucaramanga en los últimos 25 añosBucaramanga en los últimos 25 años
Bucaramanga en los últimos 25 años
 
AR & VR at the Science Museum - REMIX 2017
AR & VR at the Science Museum - REMIX 2017AR & VR at the Science Museum - REMIX 2017
AR & VR at the Science Museum - REMIX 2017
 
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016
HTC Vive, FOVE, Playstation VR and more - Presentation Meetup 20 Feb 2016
 
Hybrid-Realities: Merging real and virtual worlds to create unique experiences
Hybrid-Realities: Merging real and virtual worlds to create unique experiencesHybrid-Realities: Merging real and virtual worlds to create unique experiences
Hybrid-Realities: Merging real and virtual worlds to create unique experiences
 
Extending the Virtual World Framework for Mobile Training
Extending the Virtual World Framework for Mobile TrainingExtending the Virtual World Framework for Mobile Training
Extending the Virtual World Framework for Mobile Training
 
Virtual stores the future of retail
Virtual stores the future of retailVirtual stores the future of retail
Virtual stores the future of retail
 
Virtual Shopping
Virtual ShoppingVirtual Shopping
Virtual Shopping
 
VR Training
VR TrainingVR Training
VR Training
 

Similar to Cardboard VR: Building Low Cost VR Experiences

Developing VR Experiences with Unity
Developing VR Experiences with UnityDeveloping VR Experiences with Unity
Developing VR Experiences with UnityMark Billinghurst
 
Mobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMark Billinghurst
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR ExperienceMark Billinghurst
 
STEM Camp Virtual Reality
STEM Camp Virtual RealitySTEM Camp Virtual Reality
STEM Camp Virtual RealityTomasz Bednarz
 
Cross platform game development
Cross platform game developmentCross platform game development
Cross platform game developmentJerel Hass
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10Jiri Danihelka
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingKobkrit Viriyayudhakorn
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法Unite2017Tokyo
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法Unity Technologies Japan K.K.
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...gamifi.cc
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d Muhammad Maaz Irfan
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectYash Kaushik
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMark Billinghurst
 
Android Wear from zero to hero
Android Wear from zero to heroAndroid Wear from zero to hero
Android Wear from zero to heroRoberto Orgiu
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSebastien Kuntz
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialPatrick O'Shaughnessey
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.jsVerold
 
Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Jared Sheehan
 

Similar to Cardboard VR: Building Low Cost VR Experiences (20)

Mobile AR Tutorial
Mobile AR TutorialMobile AR Tutorial
Mobile AR Tutorial
 
Developing VR Experiences with Unity
Developing VR Experiences with UnityDeveloping VR Experiences with Unity
Developing VR Experiences with Unity
 
Mobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3D
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR Experience
 
STEM Camp Virtual Reality
STEM Camp Virtual RealitySTEM Camp Virtual Reality
STEM Camp Virtual Reality
 
Introduction to Unity
Introduction to UnityIntroduction to Unity
Introduction to Unity
 
Cross platform game development
Cross platform game developmentCross platform game development
Cross platform game development
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year Project
 
Mobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to VuforiaMobile AR Lecture 7 - Introduction to Vuforia
Mobile AR Lecture 7 - Introduction to Vuforia
 
Android Wear from zero to hero
Android Wear from zero to heroAndroid Wear from zero to hero
Android Wear from zero to hero
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
 
Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017Introduction to daydream for AnDevCon DC - 2017
Introduction to daydream for AnDevCon DC - 2017
 

More from Mark Billinghurst

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented RealityMark Billinghurst
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesMark Billinghurst
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseMark Billinghurst
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationMark Billinghurst
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseMark Billinghurst
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VRMark Billinghurst
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR SystemsMark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR TechnologyMark Billinghurst
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XRMark Billinghurst
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsMark Billinghurst
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseMark Billinghurst
 
Research Directions in Transitional Interfaces
Research Directions in Transitional InterfacesResearch Directions in Transitional Interfaces
Research Directions in Transitional InterfacesMark Billinghurst
 
Comp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsComp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsMark Billinghurst
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsMark Billinghurst
 

More from Mark Billinghurst (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Future Research Directions for Augmented Reality
Future Research Directions for Augmented RealityFuture Research Directions for Augmented Reality
Future Research Directions for Augmented Reality
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
 
Empathic Computing: Delivering the Potential of the Metaverse
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
 
Empathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the MetaverseEmpathic Computing: Capturing the Potential of the Metaverse
Empathic Computing: Capturing the Potential of the Metaverse
 
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote CollaborationTalk to Me: Using Virtual Avatars to Improve Remote Collaboration
Talk to Me: Using Virtual Avatars to Improve Remote Collaboration
 
Empathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader MetaverseEmpathic Computing: Designing for the Broader Metaverse
Empathic Computing: Designing for the Broader Metaverse
 
2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR2022 COMP 4010 Lecture 7: Introduction to VR
2022 COMP 4010 Lecture 7: Introduction to VR
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 
ISS2022 Keynote
ISS2022 KeynoteISS2022 Keynote
ISS2022 Keynote
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR Systems
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
 
2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR2022 COMP4010 Lecture1: Introduction to XR
2022 COMP4010 Lecture1: Introduction to XR
 
Empathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive AnalyticsEmpathic Computing and Collaborative Immersive Analytics
Empathic Computing and Collaborative Immersive Analytics
 
Metaverse Learning
Metaverse LearningMetaverse Learning
Metaverse Learning
 
Empathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole MetaverseEmpathic Computing: Developing for the Whole Metaverse
Empathic Computing: Developing for the Whole Metaverse
 
Research Directions in Transitional Interfaces
Research Directions in Transitional InterfacesResearch Directions in Transitional Interfaces
Research Directions in Transitional Interfaces
 
Comp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsComp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research Directions
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR Applications
 

Recently uploaded

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Recently uploaded (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

Cardboard VR: Building Low Cost VR Experiences

  • 1. CARDBOARD VR: BUILDING LOW COST VR EXPERIENCES Mark Billinghurst mark.billinghurst@unisa.edu.au April 14th 2016 CHIuXiD
  • 2. What You Will Learn • Virtual Reality Fundamentals + History • How to Build Cardboard VR Viewer • Example Cardboard VR Applications • Basics of Unity Programming • How to Make Panorama VR Applications • How to Create VR Scenes • How to Add Interactivity to VR Applications • Cardboard Design guidelines
  • 4. Virtual Reality Computer generated multi-sensory simulation of an artificial environment that is interactive and immersive.
  • 5.
  • 6. David Zeltzer’s AIP Cube ! Autonomy – User can to react to events and stimuli. ! Interaction – User can interact with objects and environment. ! Presence – User feels immersed through sensory input and output channels Interaction Autonomy Presence VR Zeltzer, D. (1992). Autonomy, interaction, and presence. Presence: Teleoperators & Virtual Environments, 1(1), 127-132.
  • 7. Key Technologies • Autonomy •  Head tracking, body input •  Intelligent systems • Interaction •  User input devices, HCI • Presence •  Graphics/audio/multisensory output •  Multisensory displays •  Visual, audio, haptic, olfactory, etc
  • 8. Early Experimenters (1950’s – 80’s) Helig 1956 Sutherland 1965 Furness 1970’s
  • 9. The First Wave (1980’s – 90’s) NASA 1989 VPL 1990’s Virtuality 1990’s
  • 10. Jaron Lanier •  Founded VPL, coined term “Virtual Reality”
  • 11. Desktop VR - 1995 •  Expensive - $150,000+ •  2 million polys/sec •  VGA HMD – 30 Hz •  Magnetic tracking
  • 12. Second Wave (2010 - ) • Palmer Luckey •  HMD hacker •  Mixed Reality Lab (MxR) • Oculus Rift (2011 - ) •  2012 - $2.4 million kickstarter •  2014 - $2B acquisition FaceBook •  $350 USD, 110o FOV
  • 14. Oculus Rift Sony Morpheus HTC/Valve Vive 2016 - Rise of Consumer HMDs
  • 15. Desktop VR 2016 • Graphics Desktop •  $1,500 USD •  >4 Billion poly/sec • $600 HMD •  1080x1200, 90Hz • Optical tracking •  Room scale
  • 18. Computer Based vs. Mobile VR
  • 19. Mobile VR CPU: 300 Mhz HDD; 9GB RAM: 512 mb Camera: VGA 30fps Graphics: 500K poly/sec 1998: SGI O2 2008: Nokia N95 CPU: 332 Mhz HDD; 8GB RAM: 128 mb Camera: VGA 30 fps Graphics: 2m poly/sec
  • 20. Mobile Phone AR & VR • Mobile Phone AR • Mobile phone • Live camera view • Senor input (GPS, compass) • Mobile Phone VR • Mobile phone • Senor input (compass) • Additional VR viewer
  • 21. VR2GO (2013) •  MxR Lab •  3D print VR viewer for mobiles •  Open source hardware + software •  http://projects.ict.usc.edu/mxr/diy/vr2go/
  • 22. Multiple Mobile VR Viewers Available
  • 26. Google Cardboard • Released 2014 (Google 20% project) • >5 million shipped/given away • Easy to use developer tools + =
  • 29. Version 1.0 vs Version 2.0 •  Version 1.0 – Android focused, magnetic switch, small phone •  Version 2.0 – Touch input, iOS/Android, fits many phones
  • 32. Cardboard App • 7 default experiences •  Earth: Fly on Google Earth •  Tour Guide: Visit sites with guides •  YouTube: Watch popular videos •  Exhibit: Examine cultural artifacts •  Photo Sphere: Immersive photos •  Street View: Drive along a street •  Windy Day: Interactive short story
  • 33. 100’s of Google Play Cardboard apps
  • 35. Cardboard Camera • Capture 360 panoramas • Stitch together images on phone • View in VR on Cardboard
  • 36. Google Expeditions • Teacher led VR experiences • https://www.google.com/edu/expeditions/
  • 37. Building Your Own Application • Cardboard Viewer •  https://www.google.com/get/cardboard/ • Smart phone •  Android/iOS • Cardboard SDK •  iOS, Android, Unity •  https://developers.google.com/cardboard/ • Unity game engine (optional) •  https://unity3d.com • Content
  • 38. Cardboard SDK Features: 1.  Lens distor-on correc-on. 2.  Head tracking. 3.  3D calibra-on. 4.  Side-by-side rendering. 5.  Stereo geometry configura-on. 6.  User input event handling. Unity Cardboard SDK
  • 40.
  • 41. Unity 3D Game Editor
  • 42. SETUP
  • 43. Download and Install •  Go to unity3d.com/download •  Use Download Assistant – pick components you want
  • 44. Getting Started •  First time running Unity you’ll be asked to create a project •  Specify project name and location •  Can pick asset packages (pre-made content)
  • 45. Unity Interface •  Toolbar, Scene, Hierarchy, Project, Inspector
  • 47. Building Scenes • Use GameObjects: •  Containers that hold different components •  Eg 3D model, texture, animation • Use Inspector •  View and edit object properties and other settings • Use Scene View •  Position objects, camera, lights, other GameObjects etc • Scripting •  Adding interaction, user input, events, etc
  • 48. GameObjects •  Every object in Scene is a GameObject •  GameObjects contain Components •  Eg Transform Component, Camera Component
  • 49. Adding 3D Content •  Create 3D asset using modeling package, or download •  Fbx, Obj file format for 3D models •  Add file to Assets folder in Project •  When project opened 3D model added to Project View •  Drag mesh from Project View into Hierarchy or Scene View •  Creates a game object
  • 50. Positioning/Scaling Objects •  Click on object and choose transform
  • 51. Unity Asset Store •  Download thousands models, scripts, animations, etc •  https://www.assetstore.unity3d.com/
  • 53. Making a Simple Scene 1.  Create New Project 2.  Create Game Object 3.  Moving main camera position 4.  Adding lights 5.  Adding more objects 6.  Adding physics 7.  Changing object materials 8.  Adding script behaviour
  • 54. CreateProject •  Create new folder and project
  • 56. Create GameObject •  Load a Sphere into the scene •  GameObject -> 3D Object -> Sphere
  • 57. Moving main camera •  Select Main Camera •  Select translate icon •  Move camera
  • 58. Add Light •  GameObject -> Light -> Directional Light •  Use inspector to modify light properties (colour, intensity)
  • 59. Add Physics •  Select Sphere •  Add Rigidbody component •  Add Component -> Physics -> RigidBody •  or Component -> Physics -> RigidBody •  Modify inspector properties (mass, drag, etc)
  • 60. Add More Objects •  Add several cubes •  GameObject -> 3D Object – Cube •  Move cube •  Add Rigid Body component (uncheck gravity)
  • 61. Add Material •  Assets -> Create -> Material •  Click Albedo colour box in inspector •  Select colour •  Drag asset onto object to apply
  • 62. Add Script •  Assets -> Create -> C# script •  Edit script using Mono •  Drag script onto Game Object
  • 63. Example C# Script GameObject Rotation using UnityEngine;
 using System.Collections;
 
 public class spin : MonoBehaviour {
 
     // Use this for initialization
     void Start () {
     
     }
     
     // Update is called once per frame
     void Update () {
         this.gameObject.transform.Rotate(Vector3.up*10);
     }
 }
 #
  • 64. Scripting C# Unity 3D •  void Awake(): •  Is called when the first scene is loaded and the game object is active •  void Start(): •  Called on first frame update •  void FixedUpdate(): •  Called before physics calculations are made •  void Update(): •  Called every frame before rendering •  void LateUpdate(): •  Once per frame after update finished
  • 66. Resources • Unity Main site • http://www.unity3d.com/ • Holistic Development with Unity • http://holistic3d.com • Official Unity Tutorials • http://unity3d.com/learn/tutorials • Unity Coder Blog • http://unitycoder.com
  • 68. Steps 1.  Create a new project 2.  Load the Cardboard SDK 3.  Load a panorama image asset 4.  Create a Skymap 5.  Add to VR scene 6.  Deploy to mobile phone
  • 70. Load Cardboard SDK •  Assets -> Import Package -> Custom Package •  Navigate to CardboardSDKForUnity.unitypackage •  Uncheck iOS (for Android build)
  • 71. Load Cardboard Main Camera •  Drag CardboardMain prefab into Hierarchy •  Assets -> Cardboard -> Prefab •  Delete CameraMain
  • 72. Panorama Image Asset •  Find/create suitable panorama image •  Ideally 2K or higher resolution image •  Google “Panorama Image Cubemap”
  • 73. Add Image Asset to Project •  Assets -> Import Asset •  Select desired image •  Set Texture Type to Cubemap •  Set mapping to Latitude- Longitude (Cylindrical)
  • 74. Create Skybox Material •  Assets -> Create -> Material •  Name material •  Set Shader to Skybox -> Cubemap •  Drag texture to cubemap
  • 75. Create Skybox •  Window -> Lighting •  Drag Skybox material into Skypebox form
  • 77. One Last Thing.. •  CardboardMain -> Head -> Main Camera •  Set Clear Flags to Skybox
  • 78. Test It Out •  Hit play, use alt/option key + mouse to look around
  • 79. Deploy to Mobile (Android) 1.  Plug phone into USB • make sure device in debug mode 2.  Set correct build settings 3.  Player settings • Other settings •  Set Bundle Idenitfier -> com.Company.ProductName • Resolution and Presentation •  Default Orientation -> Landscape Left 4.  Build and run
  • 80. Deploying to Phone 1.  Plug phone into USB 2.  Open Build Settings 3.  Change Target platform to Android 4.  Resolution and Presentation •  Default Orientation -> Landscape Left 5.  Under Player Settings •  Edit Bundle Identifier – eg com.UniSA.cubeTest •  Minimum API level 6.  Build and Run •  Select .apk file name
  • 81. Running on Phone •  Droid@Screen View on Desktop
  • 83. Key Steps 1.  Creating a new project 2.  Load Cardboard SDK 3.  Replace camera with CardboardMain 4.  Loading in 3D asset packages 5.  Loading a SkyDome 6.  Adding a plane floor
  • 84. New Project •  Camera replaced with CameraMain
  • 85. Download Model Package •  Magic Lamp from 3dFoin •  Search on Asset store
  • 86. Load Asset + Add to Scene •  Assets -> Import Package -> Custom Package •  Look for MagicLamp.unitypackage (If not installed already) •  Drag MagicLamp_LOD0 to Hierarchy •  Position and rotate
  • 87. Import SkySphere package •  SkySphere Volume1 on Asset store
  • 88. Add SkySphere to Scene •  Drag Skyball_WithoutCap into Hierarchy •  SkySphere_V1 -> Meshes •  Rotate and Scale as needed
  • 89. Add Ground Plane •  GameObject -> 3D Object -> Plane •  Set Scale X to 2.0, Z to 2.0
  • 90. Testing View •  Use alt/option key plus mouse to rotate view
  • 91. Adding More Assets •  Load from Asset store – look for free assets
  • 93. Adding Movement Goal: Move in direction user looking when Cardboard Button pressed. • Key Steps 1.  Start with static screen 2.  Create movement script 3.  Add movement script to Camera head 4.  Deploy to mobile
  • 95. Create Movement Script •  Add new script object •  Assets -> Create -> C# Script •  Edit script in Mono
  • 96. Add Script to Scene •  Drag Script onto Head object •  CameraboardMain -> Head •  Uncheck Track Position Box •  Adjust movement speed
  • 97. Adding More Interactivity •  Load Cardboard Demo application •  Assets -> Import Package -> Custom Package •  Load CardboardDemoForUnity.unitypackage •  Launch Demo Scene •  Assets -> Cardboard -> DemoScene
  • 98. Features Shown •  Gaze reticle + selection •  Viewpoint teleportation •  Menu panel overlay •  Audio feedback •  Event system
  • 100. Google Design Guidelines • Google’s Guidelines for good VR experiences: •  Physiological Considerations •  Interactive Patterns •  Setup •  Controls •  Feedback •  Display Reticle •  From http://www.google.com/design/spec-vr/designing- for-google-cardboard/a-new-dimension.html
  • 101. Physiological Considerations • Factors to Consider •  Head tracking •  User control of movement •  Use constant velocity •  Grounding with fixed objects •  Brightness changes
  • 102. Interactive Patterns - Setup • Setup factors to consider: • Entering and exiting • Headset adaptation • Full Screen mode • API calls • Indicating VR apps
  • 103. Interactive Patterns - Controls • Use fuze buttons for selection in VR
  • 104. Interactive Patterns - Feedback • Use audio and haptic feedback •  Reduce visual overload •  Audio alerts •  3D spatial sound •  Phone vibrations
  • 105. Interactive Patterns - Display Reticle •  Easier for users to target objects with a display reticle •  Can display reticle only when near target object •  Highlight objects (e.g. with light source) that user can target
  • 106. Cardboard Design Lab Application •  Use Cardboard Design Lab app to explore design ideas
  • 108.
  • 109. Conclusion • Virtual Reality industry starting to boom again • Google Cardboard provides a great entry for VR •  Consumer hardware •  Cheap/free viewer •  Industry standard game engine •  High quality content •  Many tutorials/learning resources • The time to get started is now!
  • 111. Useful Resources •  Google Cardboard main page •  https://www.google.com/get/cardboard/ •  Developer Website •  https://www.google.com/get/cardboard/developers/ •  Building a VR app for Cardboard •  http://www.sitepoint.com/building-a-google-cardboard-vr-app-in-unity/ •  Creating VR game for Cardboard •  http://danielborowski.com/posts/create-a-virtual-reality-game-for- google-cardboard/ •  Moving in VR space •  http://www.instructables.com/id/Prototyping-Interactive-Environments- in-Virtual-Re/