SlideShare une entreprise Scribd logo
1  sur  184
Télécharger pour lire hors ligne
DEVELOPING AR AND VR
EXPERIENCES WITH UNITY
Mark Billinghurst
University of South Australia
November 7th 2017
INTRODUCTION
Virtual Reality
Computer generated multi-sensory simulation of an
artificial environment that is interactive and immersive.
What is Virtual Reality?
Virtual reality is..
a computer technology that replicates an
environment, real or imagined, and simulates a
user's physical presence and environment to
allow for user interaction. (Wikipedia)
• Defining Characteristics
• Environment simulation
• Presence
• Interaction
First VR Experience
• “This is so real..”
• https://www.youtube.com/watch?v=pAC5SeNH8jw
Types of VR
7
Key Technologies for VR Systems
• Visual Display
• Stimulate visual sense
• Audio/Tactile Display
• Stimulate hearing/touch
• Tracking
• Changing viewpoint
• User input
• Input Devices
• Supporting user interaction
Augmented Reality
1977 – Star Wars
Augmented Reality Definition
•Defining Characteristics [Azuma 97]
• Combines Real andVirtual Images
• Both can be seen at the same time
• Interactive in real-time
• The virtual content can be interacted with
• Registered in 3D
• Virtual objects appear fixed in space
Azuma, R. T. (1997). A survey of augmented reality. Presence, 6(4), 355-385.
2008 - CNN
https://www.youtube.com/watch?v=v7fQ_EsMJMs
AR vsVR
Milgram’s Reality-Virtuality continuum
Mixed Reality
Reality - Virtuality (RV) Continuum
Real
Environment
Augmented
Reality (AR)
Augmented
Virtuality (AV)
Virtual
Environment
"...anywhere between the extrema of the virtuality continuum."
P. Milgram and A. F. Kishino, Taxonomy of Mixed Reality Visual Displays
IEICE Transactions on Information and Systems, E77-D(12), pp. 1321-1329, 1994.
MOBILE AR AND VR
Long History of AR and VR
https://immersivelifeblog.files.wordpress.com/2015/04/vr_history.jpg
2005 - Mobile PhoneAR
•Mobile Phones
• camera
• processor
• display
•AR on Mobile Phones
• Simple graphics
• Optimized computer vision
• Collaborative Interaction
Wellington Zoo Demo (2007)
https://www.youtube.com/watch?v=edTjuXcce_c
MobileAR 2009 - Outdoor Overlay
• Mobile phone based
• Tag real world locations
• GPS + Compass input
• Overlay graphics on live video
• Applications
• Travel guide,Advertising, etc
• Wikitude, Layar, etc..
• iOS/Android, Public API released
Layar Demo (2009)
• https://www.youtube.com/watch?v=b64_16K2e08
Vuforia Featured Apps (2015)
• Mobile AR using Vuforia image tracking
• https://www.youtube.com/watch?v=rohLgtLQrK4
Mobile Camera AR Apps (2015 - )
• SnapChat - Lenses, World Lenses
• Cinco de Mayo lens > 225 million views
• Facebook - Camera Effects
• Google – Word Lens/Translate
ARKit/ARcore (2017)
• Visual Inertial Odometry (VIO) systems
• Mobile phone pose tracked by
• Camera (Visual), Accelerometer & Gyroscope (Intertial)
• Features
• Plane detection, lighting detection, hardware optimisation
• Links
• https://developer.apple.com/arkit/ https://developers.google.com/ar/
ARKit Demos
https://www.youtube.com/watch?v=6xDyVBsBtX8
Computer Based vs. Mobile VR
Oculus Rift
Sony Morpheus
HTC/Valve Vive
2016 - Rise of Consumer HMDs
HTC Vive
• Room scale tracking
• Gesture input devices
Example HTC Vive App – Tilt Brush
https://www.youtube.com/watch?v=ijukZmYFX-0
MobileVR:Google Cardboard
• Released 2014 (Google 20% project)
• >80 million shipped/given away
• Easy to use developer tools
+ =
more reading at http://www.gizmag.com/google-cardboard-2-review-initial/37777/
Presses the
screen
Figure: google cardboard v2 supports larger phone.
Google Cardboard (v2)
Many Mobile VR Viewers Available
Types of VR Experiences
• Immersive Spaces
• 360 Panorama’s/Movies
• High visual quality
• Limited interactivity
• Changing viewpoint orientation
• Immersive Experiences
• 3D graphics
• Lower visual quality
• High interactivity
• Movement in space
• Interact with objects
Immersive Panorama
• High quality 360 image or video surrounding user
• User can turn head to see different views
• Fixed position
Example Applications
• Within – Storytelling for VR
• https://with.in/
• High quality 360 VR content
• New York Times VR Experience
• NYTVR application
• Documentary experiences
• Vimeo360
• https://join.vimeo.com/360/
• Immersive 360 movies
Applications: Virtual Tours
•Visualise architectural diagrams
•Tools such as Autodesk, Revit supporting VR
•Metricon, 3D tours
Applications: Sports and Entertainment
•www.Nexvr.com
•Live streaming events
•NBA Basketball VR
•(1 game per week)
•US Open Tennis VR
•Live Nation concerts
Capturing Panoramas
• Stitching photos together
• Image Composite Editor (Microsoft)
• AutoPano (Kolor)
• Using 360 camera
• Ricoh Theta-S
• Fly360
Capturing 360 images
Kodak 360 Fly 360 Gear 360 Theta S Nikon
LG 360 Pointgrey Ladybug Panono 360 Bublcam
Example: Cardboard Camera
• Capture 360 panoramas
• Stitch together images on phone
• View in VR on Cardboard
Demo: Cardboard Camera
https://www.youtube.com/watch?v=d5lUXZhWaZY
Google 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
BUILDING AR AND VR
What You Need
• Cardboard Viewer/VR Viewer
• https://www.google.com/get/cardboard/
• Smart phone
• Android/iOS
• Authoring Tools/SDK
• Google VR SDK
• Unity/Unreal game engine
• Non programming tools
• Content
• 3D models, video, images, sounds
Software Tools
• Low level SDKs
• Need programming ability
• Java, C#, C++, etc
• Example: Google VR SDK (iOS, Android)
• https://developers.google.com/vr/
• Game Engines
• Powerful, need scripting ability
• Unity - https://unity3d.com/
• Unreal - https://www.unrealengine.com/vr
• Combine with VR plugins (HMDs, input devices)
• Google VR Unity plugin
Unity Interface
Tools for Non-Programmers
• Focus on Design, ease of use
• Visual Programming, content arrangement
• Examples
• Insta-VR – 360 panoramas
• http://www.instavr.co/
• Vizor – VR on the Web
• http://vizor.io/
• A-frame – HTML based
• https://aframe.io/
• ENTiTi – Both AR and VR authoring
• http://www.wakingapp.com/
• Eon Creator – Drag and drop tool for AR/VR
• http://www.eonreality.com/eon-creator/
INTRO TO UNITY
Unity Show Reel
• https://www.youtube.com/watch?v=8lWpnvNxs8k
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
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
Create Project
• 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
BUILDING A 360 VIEW
Key Steps
1. Creating new project
2. Loading Google VR package
3. Adding VR view emulation
4. Getting a panorama image
5. Creating a Skybox material
6. Adding a Skybox
7. Testing application
8. Deploying to mobile phone
1. New Project
• Double click Unity icon
• or within Unity File -> New Project
Empty Project
2. Load Google VR Package
• Assuming you have already downloaded
GoogleVRForUnity_1.100.1.unitypackage
• Adding Google VR package
• Assets -> Import package -> custom package
• Navigate to Google VR package, select/open
• Select import button on dialog
Google VR Package
• Mixture of scripts, prefabs, plugins etc for Google VR
• Useful collection of Demos and resources
3. Adding VR View Emulation
• Select Prefabs and drag GvrEditorEmlator to Hierarchy
• Adds VR camera controls using mouse/keyboard
• Change roll, pitch and yaw using mouse + Alt/Ctrl/Command keys
View So Far
4. Getting a Panorama Image
• Find/create suitable panorama image
• Ideally 2K or higher resolution image
• Google “Panorama Image Cubemap”
Sample Panorama Image
• http://paulbourke.net/miscellaneous/cubemaps/sph2.jpg
5. Creating a Skybox material
• Import panorama image as a asset
• Asset -> Import New Asset ..
• In inspector – change texture type, shape
• Texture type -> Default
• Texture shape -> Cube
• Mapping ->Latitude-Longitude
Create Skybox Material
• Assets -> Create -> Material
• Name material
• Set Shader to Skybox -> Cubemap
• Drag pano texture to cubemap
6. Create Skybox
• Make a new Skybox
• Window -> Lighting -> Settings
• In window Lighting settings
• Drag Skybox material to Skybox material form
View So Far
7. Testing Application
• Select Maximize on Play
• Hit play arrow and use mouse + Alt/Ctrl/Command keys
8. Deploying to Mobile Phone
• Go to Build Settings
• File -> Build Settings
• Change platform to Android
• Add open scenes
• Check Development Build
• In Player Settings
• XR Settings -> VR supported
• Other Settings
• Change Package Name
• E.g. com.BDVApano.PanoTest
3D VR SCENE
Key Steps
1. Create New Scene + add GvrEditorEmulator
2. Create body object and add camera to it
3. Add 3D objects to scene
4. Test 3D scene
1. Create Scene
• File -> New Scene
• Drag GvrEditorEmulator into hierarchy
• Prefabs -> GvrEditorEmulator
• Save scene (File -> Save Scene)
2. Create Body
• Needed for correct camera motion
• Create empty object and name it Body
• GameObject -> Create Empty
• Change y value of Body to 1.0 (or similar height)
• Drag Main Camera under Body
3. Create Scene
• Add a ground plane
• Game Object -> 3D Object -> Plane
• Add material to ground plane
• Assets -> Create Material
• Add cube, sphere, cylinder + materials, position around plane
• Move Main Camera to (0,0,0) point
4. Test Scene
• Select Maximize on Play
• Hit play arrow and use mouse + Alt/Ctrl/Command keys
MORE COMPLEX SCENE
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
GAZE INTERACTION
Gaze Interaction
• Using Gaze interaction is natural for VR
• Without an eye-tracker it’s really head point
• Goal is to have objects that respond to Gaze input
• E.g. look at objects to have them change colour
• Gaze + button input is particularly powerful
• Gaze to highlight, then button click to select
Key Steps
•Using previous scene:
1. Add Event System
2. Add Gaze Reticle to Main Camera
3. Add Physics Raycaster to Camera
4. Add Event Trigger to Object
5. Create Gaze Input Script
6. Connect Script Functions
7. Test Scene
1. Add Event System
• Need an Event System object to monitor events
• E.g. Gaze going on and off an object
• Google VR package has built in Event System
• GoogleVR à Prefabs à EventSystem
• Drag GvrEventSystem prefab into hierarchy
2. Add Gaze Reticle to Camera
• Gaze reticle shows the center of the camera view
• Gaze reticle prefabs
• GoogleVR à Prefabs à Cardboard
• Drag GvrReticlePointer under Main Camera
• In inspector click on ReticlePointer to set colour (red in this case)
3. Add Physics Raycaster to Camera
• Used to send ray from camera to collide
with objects in the scene
• Select Main Camera
• Add Gvr Pointer Raycaster Component
• Add Component à GvrPointerPhysicsRaycaster
4. Add Event Trigger to Object
• Used to cause event to trigger when gazing at object
• Select Cube
• Add Event Trigger Component
• Add Component à Event Trigger
• Now when playing reticle changes shape over cube
Add Event Trigger Type
• We want something to happen when gaze at object
• Change object colour when person looking at it
• Add new event type to event trigger component
• Hit Add New Event Type button
• Add Pointer Enter and Point Exit events
• Need to add function scripts to events
5. Create Gaze Input Script
• Create a new Script
• Cube à Add Component à New Script
• Name script GazeInput
• Edit Script – adding functions for changing object colour
GazeInput Script
6. Connect Script Functions
• In event trigger drag Cube into object form
• In Pointer Enter add HighlightColour Function
• Gaze Input à HighlightColour()
• In Pointer Exit add ResetColour Function
• Gaze Input à ResetColour()
7. Test Scene
• When gaze falls on Cube, Cube highlights white
• Resets to original colour when gaze moves off
MOVING IN VR
NurFACEGAMES Tutorial
• https://www.youtube.com/watch?v=kBTn2pGwZUk
Key Steps
1. Create simple scene
2. Add Character Controller to scene
3. Creating walk script
4. Connect Character Controller to script
5. Testing scene
1. Create Simple Scene
• Create new scene
• Add GvrEditorEmulator to hierarchy
• Prefabs à GvrEditorEmulator
• Add plane and objects
2. Add Character Controller to Scene
• Add empty Body object
• Add camera to Body
• Add Character Controller to Body
• Add Component à Character Controller
• Move camera to top of Character Controller
3. Create Walking Script
• Want to toggle walking on when user looks down
• When looking down more than 30 degrees
• Move forward in the direction the user is looking
• Move the Body object
• Add script to Main Camera
• Add component à New Script
VRLookWalk script
4. Connect Character Controller to script
• Drag Body object into CC empty form space
• Uses the Body Character Controller in script
5. Test Scene
• Moving when head is tilted down
• Move direction camera is facing
• Adjust speed as needed
AUGMENTED REALITY
Using Vuforia to Create AR Experiences
What you will learn
• Introduction to Vuforia
• Platform and features
• How to install/set-up Vuforia
• Vuforia Basics
• Marker Tracking, Object tracking
• Deploying to Mobile Device
• Android, iOS
OVERVIEW
Vuforia Overview
• Platform for Mobile Computer Vision
• https://www.qualcomm.com/products/vuforia
• Released by Qualcomm in 2010, acquired by PTC 2015
• Used by over 200K developers, >20K applications
• Main Features:
• Recognition
• Image, text, object recognition
• Tracking
• Image, marker, scene, object
Vuforia Provides
• Android
• iOS
• Unity	Extension
Device	SDK
• Target	Management	System	
• App	Development	Guide
• Vuforia	Web	Services
Tools	&	Services
• Dedicated technical support
engineers
• Thousands of posts
Support	Forum
Vuforia Features
Tracking Targets
Image
Object
Environment
Developer Tools
Target Manager
Cloud Services
Platform Anatomy
User Experiences Enabled
USING VUFORIA
Key Steps
1. Enable Vuforia in project
2. Load AR Camera
3. Configure camera
4. Load Tracking Image
5. Add 3D model
6. Test AR Scene
1. Enable Vuforia in project
• If checked the Vuforia AR box on Unity install:
• just check Vuforia Augmented Reality in player settings
• Build Settings à Player Settings à XR Settings
• If didn’t install, need to download and install package
• See https://developer.vuforia.com/downloads/sdk
• Download vuforia-unity-6-2-10.unitypackage
2. Add AR Camera to Scene
• Add Vuforia camera object
• Game Object à Vuforia à AR Camera
• Delete Main Camera object
3. Configure Camera
• Need to add Vuforia License key
• Open AR Camera inspection
• Open Vuforia Configuration
Create Vuforia Developer Account
• Need to create a Vuforia Developer account
• https://developer.vuforia.com/
• Register for account
License Manager Portal
• Login to Vuforia account
• Got to license manager
• Develop à License Manager
Request Development Key
• Select Get Development Key
• Enter application name
Get License Key
• Return to License Manager
• Click on app name + copy license key
Add License Key to Project
• Paste key into Vuforia Configuration
• AR Camera à Open Vuforia Configuration
4. Load Tracking Image
• In Vuforia Configuration check image datasets
• Load VuforiaMars_Images Database, Activate
• Add tracking image to scene hierarchy
• Game Object à Vuforia à Image
• In imageTarget inspector, select image target, scale as needed
Scene So Far
5. Add 3D Objects
• Add 3D objects and assets
• Add as child of Image target
6. Test Scene
• Print AR tracking image or show on device
• Hit play button and test with webcamera
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
RESEARCH DIRECTIONS
Many Areas for AR/VR Research
• Display
• Wide field of view, new display technologies
• Tracking
• Precise tracking, wide area
• Interaction
• Natural gesture interaction, human factors
• Authoring Tools
• Content capture, authoring
• Applications
• Collaboration, large scale
Bare Hands
• Using computer vision to track bare hand input
• Creates compelling sense of Presence, natural interaction
• Challenges need to be solved
• Not having sense of touch
• Line of sight required to sensor
• Fatigue from holding hands in front of sensor
Example: Leap Motion
• https://www.youtube.com/watch?v=QD4qQBL0X80
Eye Tracking
• Technology
• Shine IR light into eye and look for reflections
• Advantages
• Provides natural hands-free input
• Gaze provides cues as to user attention
• Can be combined with other input technologies
Example: FOVE VR Headset
• Eye tracker integrated into VR HMD
• Gaze driven user interface, foveated rendering
• https://www.youtube.com/watch?v=8dwdzPaqsDY
Pedestrian Devices
• Pedestrian input in VR
• Walking/running in VR
• Virtuix Omni
• Special shoes
• http://www.virtuix.com
• Cyberith Virtualizer
• Socks + slippery surface
• http://cyberith.com
Cyberith Virtualizer Demo
• https://www.youtube.com/watch?v=R8lmf3OFrms
Social VR
• Facebook Social Virtual Reality, AltspaceVR
• Bringing Avatars into VR space
• Natural social interaction
Demo: Facebook Social VR
https://www.youtube.com/watch?v=yxHwWHHg4Vs
CONCLUSIONS
Conclusion
• VR and AR have a long history
• Early prototypes from 1960’s onwards
• Having second phase of commercial success
• Projected to grow to over $120B market by 2020
• Mostly mobile AR/VR in near term
• It is easier than ever before to develop AR/VR apps
• Multiple easy to use tools for non-programmers
• Powerful developer tools for programmers
• There are many opportunities for research
• Collaboration, interaction, navigation, etc
RESOURCES
Google Poly for 3D models
• https://poly.google.com/
• Repository of user contributed low polygon objects
• Free to download for AR/VR applications
Resources
• Excellent book
• 3D User Interfaces: Theory and Practice
• Doug Bowman, Ernst Kruijff, Joseph, LaViola, Ivan Poupyrev
• Great Website
• http://www.uxofvr.com/
• 3D UI research at Virginia Tech.
• research.cs.vt.edu/3di/
Other Books
• Augmented Reality for Developers: Build
practical augmented reality applications
with Unity, ARCore, ARKit, and Vuforia
• Jonathan Linowes, Krystian Babilinski
• Unity Virtual Reality Projects
• Jonathan Linowes
• Holistic Game Development with Unity: An
All-in-One Guide to Implementing Game
Mechanics, Art, Design and Programming
• Penny de Byl
UX of VR Website - www.uxofvr.com
• Many examples of great interaction techniques
• Videos, books, articles, slides, code, etc..
Useful VR Resources
• Unity VR Tutorials
• https://unity3d.com/learn/tutorials/s/virtual-reality
• Google Cardboard main page
• https://vr.google.com/cardboard/
• Developer Website
• https://vr.google.com/cardboard/developers/
• Building a VR app for Cardboard (Old SDK)
• http://www.sitepoint.com/building-a-google-cardboard-vr-app-in-unity/
• Moving in VR space (Old SDK)
• http://www.instructables.com/id/Prototyping-Interactive-Environments-
in-Virtual-Re/
Useful AR Resources
• Vuforia Main Page
• https://www.vuforia.com/
• Vuforia Developer Page
• https://developer.vuforia.com
• Vuforia Getting Started
• https://library.vuforia.com/articles/Training/getting-started-with-
vuforia-in-unity-2017-2-beta.html
• ARreverie Tutorial (Old SDK)
• http://www.arreverie.com/blogs/tutorial-1-get-started-developing-ar-
apps-unity-vuforia-imagetarget/
• Instructable Tutorial (Old SDK)
• http://www.instructables.com/id/Augmented-Reality-Tutorial-for-
Beginners-With-Vufo/
www.empathiccomputing.org
@marknb00
mark.billinghurst@unisa.edu.au

Contenu connexe

Tendances

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
 
COMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityCOMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityMark 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
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsMark Billinghurst
 
Advanced Methods for User Evaluation in AR/VR Studies
Advanced Methods for User Evaluation in AR/VR StudiesAdvanced Methods for User Evaluation in AR/VR Studies
Advanced Methods for User Evaluation in AR/VR StudiesMark Billinghurst
 
COMP 4010 - Lecture4 VR Technology - Visual and Haptic Displays
COMP 4010 - Lecture4 VR Technology - Visual and Haptic DisplaysCOMP 4010 - Lecture4 VR Technology - Visual and Haptic Displays
COMP 4010 - Lecture4 VR Technology - Visual and Haptic DisplaysMark Billinghurst
 
COMP 4010 Lecture9 AR Interaction
COMP 4010 Lecture9 AR InteractionCOMP 4010 Lecture9 AR Interaction
COMP 4010 Lecture9 AR InteractionMark Billinghurst
 
COMP 4010 - Lecture 3 VR Systems
COMP 4010 - Lecture 3 VR SystemsCOMP 4010 - Lecture 3 VR Systems
COMP 4010 - Lecture 3 VR SystemsMark 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
 
Comp 4010 2021 Lecture1-Introduction to XR
Comp 4010 2021 Lecture1-Introduction to XRComp 4010 2021 Lecture1-Introduction to XR
Comp 4010 2021 Lecture1-Introduction to XRMark Billinghurst
 
Lecture 8 Introduction to Augmented Reality
Lecture 8 Introduction to Augmented RealityLecture 8 Introduction to Augmented Reality
Lecture 8 Introduction to Augmented RealityMark 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
 
Lecture 6 Interaction Design for VR
Lecture 6 Interaction Design for VRLecture 6 Interaction Design for VR
Lecture 6 Interaction Design for VRMark Billinghurst
 
COMP 4010 Lecture10: AR Tracking
COMP 4010 Lecture10: AR TrackingCOMP 4010 Lecture10: AR Tracking
COMP 4010 Lecture10: AR TrackingMark Billinghurst
 
Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Mark 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
 
Comp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsComp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsMark Billinghurst
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google CardboardMark Billinghurst
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsMark Billinghurst
 

Tendances (20)

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
 
COMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual RealityCOMP 4010 - Lecture 1: Introduction to Virtual Reality
COMP 4010 - Lecture 1: Introduction to Virtual Reality
 
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
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR Applications
 
Advanced Methods for User Evaluation in AR/VR Studies
Advanced Methods for User Evaluation in AR/VR StudiesAdvanced Methods for User Evaluation in AR/VR Studies
Advanced Methods for User Evaluation in AR/VR Studies
 
Lecture1 introduction to VR
Lecture1 introduction to VRLecture1 introduction to VR
Lecture1 introduction to VR
 
COMP 4010 - Lecture4 VR Technology - Visual and Haptic Displays
COMP 4010 - Lecture4 VR Technology - Visual and Haptic DisplaysCOMP 4010 - Lecture4 VR Technology - Visual and Haptic Displays
COMP 4010 - Lecture4 VR Technology - Visual and Haptic Displays
 
COMP 4010 Lecture9 AR Interaction
COMP 4010 Lecture9 AR InteractionCOMP 4010 Lecture9 AR Interaction
COMP 4010 Lecture9 AR Interaction
 
COMP 4010 - Lecture 3 VR Systems
COMP 4010 - Lecture 3 VR SystemsCOMP 4010 - Lecture 3 VR Systems
COMP 4010 - Lecture 3 VR Systems
 
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
 
Comp 4010 2021 Lecture1-Introduction to XR
Comp 4010 2021 Lecture1-Introduction to XRComp 4010 2021 Lecture1-Introduction to XR
Comp 4010 2021 Lecture1-Introduction to XR
 
Lecture 8 Introduction to Augmented Reality
Lecture 8 Introduction to Augmented RealityLecture 8 Introduction to Augmented Reality
Lecture 8 Introduction to Augmented Reality
 
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
 
Lecture 6 Interaction Design for VR
Lecture 6 Interaction Design for VRLecture 6 Interaction Design for VR
Lecture 6 Interaction Design for VR
 
COMP 4010 Lecture10: AR Tracking
COMP 4010 Lecture10: AR TrackingCOMP 4010 Lecture10: AR Tracking
COMP 4010 Lecture10: AR Tracking
 
Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality Grand Challenges for Mixed Reality
Grand Challenges for Mixed Reality
 
Comp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and SystemsComp4010 Lecture9 VR Input and Systems
Comp4010 Lecture9 VR Input and Systems
 
Comp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research DirectionsComp4010 Lecture12 Research Directions
Comp4010 Lecture12 Research Directions
 
Building VR Applications For Google Cardboard
Building VR Applications For Google CardboardBuilding VR Applications For Google Cardboard
Building VR Applications For Google Cardboard
 
Comp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR SystemsComp4010 Lecture7 Designing AR Systems
Comp4010 Lecture7 Designing AR Systems
 

En vedette

Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR ExperienceMark Billinghurst
 
COMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyCOMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyMark Billinghurst
 
COMP 4010 Lecture 3 VR Input and Systems
COMP 4010 Lecture 3 VR Input and SystemsCOMP 4010 Lecture 3 VR Input and Systems
COMP 4010 Lecture 3 VR Input and SystemsMark Billinghurst
 
Collaborative Immersive Analytics
Collaborative Immersive AnalyticsCollaborative Immersive Analytics
Collaborative Immersive AnalyticsMark Billinghurst
 
COMP 4010: Lecture 5 - Interaction Design for Virtual Reality
COMP 4010: Lecture 5 - Interaction Design for Virtual RealityCOMP 4010: Lecture 5 - Interaction Design for Virtual Reality
COMP 4010: Lecture 5 - Interaction Design for Virtual RealityMark Billinghurst
 
COMP 4010 Lecture 9 AR Interaction
COMP 4010 Lecture 9 AR InteractionCOMP 4010 Lecture 9 AR Interaction
COMP 4010 Lecture 9 AR InteractionMark Billinghurst
 
COMP 4010 - Lecture 7: Introduction to Augmented Reality
COMP 4010 - Lecture 7: Introduction to Augmented RealityCOMP 4010 - Lecture 7: Introduction to Augmented Reality
COMP 4010 - Lecture 7: Introduction to Augmented RealityMark Billinghurst
 
COMP 4010: Lecture 6 Example VR Applications
COMP 4010: Lecture 6 Example VR ApplicationsCOMP 4010: Lecture 6 Example VR Applications
COMP 4010: Lecture 6 Example VR ApplicationsMark Billinghurst
 
COMP 4010 - Lecture11 - AR Applications
COMP 4010 - Lecture11 - AR ApplicationsCOMP 4010 - Lecture11 - AR Applications
COMP 4010 - Lecture11 - AR ApplicationsMark Billinghurst
 
COMP 4010 Lecture12 - Research Directions in AR and VR
COMP 4010 Lecture12 - Research Directions in AR and VRCOMP 4010 Lecture12 - Research Directions in AR and VR
COMP 4010 Lecture12 - Research Directions in AR and VRMark Billinghurst
 
Fifty Shades of Augmented Reality: Creating Connection Using AR
Fifty Shades of Augmented Reality: Creating Connection Using ARFifty Shades of Augmented Reality: Creating Connection Using AR
Fifty Shades of Augmented Reality: Creating Connection Using ARMark Billinghurst
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARMark Billinghurst
 
Beyond Reality (2027): The Future of Virtual and Augmented Reality
Beyond Reality (2027): The Future of Virtual and Augmented RealityBeyond Reality (2027): The Future of Virtual and Augmented Reality
Beyond Reality (2027): The Future of Virtual and Augmented RealityMark Billinghurst
 
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
 
COMP 4010: Lecture2 VR Technology
COMP 4010: Lecture2 VR TechnologyCOMP 4010: Lecture2 VR Technology
COMP 4010: Lecture2 VR TechnologyMark Billinghurst
 
COMP 4010: Lecture 4 - 3D User Interfaces for VR
COMP 4010: Lecture 4 - 3D User Interfaces for VRCOMP 4010: Lecture 4 - 3D User Interfaces for VR
COMP 4010: Lecture 4 - 3D User Interfaces for VRMark Billinghurst
 
Using Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesUsing Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesMark Billinghurst
 

En vedette (18)

Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR Experience
 
COMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyCOMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR Technology
 
COMP 4010 Lecture 3 VR Input and Systems
COMP 4010 Lecture 3 VR Input and SystemsCOMP 4010 Lecture 3 VR Input and Systems
COMP 4010 Lecture 3 VR Input and Systems
 
Collaborative Immersive Analytics
Collaborative Immersive AnalyticsCollaborative Immersive Analytics
Collaborative Immersive Analytics
 
COMP 4010: Lecture 5 - Interaction Design for Virtual Reality
COMP 4010: Lecture 5 - Interaction Design for Virtual RealityCOMP 4010: Lecture 5 - Interaction Design for Virtual Reality
COMP 4010: Lecture 5 - Interaction Design for Virtual Reality
 
COMP 4010 Lecture 9 AR Interaction
COMP 4010 Lecture 9 AR InteractionCOMP 4010 Lecture 9 AR Interaction
COMP 4010 Lecture 9 AR Interaction
 
COMP 4010 - Lecture 7: Introduction to Augmented Reality
COMP 4010 - Lecture 7: Introduction to Augmented RealityCOMP 4010 - Lecture 7: Introduction to Augmented Reality
COMP 4010 - Lecture 7: Introduction to Augmented Reality
 
COMP 4010: Lecture 6 Example VR Applications
COMP 4010: Lecture 6 Example VR ApplicationsCOMP 4010: Lecture 6 Example VR Applications
COMP 4010: Lecture 6 Example VR Applications
 
Easy Virtual Reality
Easy Virtual RealityEasy Virtual Reality
Easy Virtual Reality
 
COMP 4010 - Lecture11 - AR Applications
COMP 4010 - Lecture11 - AR ApplicationsCOMP 4010 - Lecture11 - AR Applications
COMP 4010 - Lecture11 - AR Applications
 
COMP 4010 Lecture12 - Research Directions in AR and VR
COMP 4010 Lecture12 - Research Directions in AR and VRCOMP 4010 Lecture12 - Research Directions in AR and VR
COMP 4010 Lecture12 - Research Directions in AR and VR
 
Fifty Shades of Augmented Reality: Creating Connection Using AR
Fifty Shades of Augmented Reality: Creating Connection Using ARFifty Shades of Augmented Reality: Creating Connection Using AR
Fifty Shades of Augmented Reality: Creating Connection Using AR
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile AR
 
Beyond Reality (2027): The Future of Virtual and Augmented Reality
Beyond Reality (2027): The Future of Virtual and Augmented RealityBeyond Reality (2027): The Future of Virtual and Augmented Reality
Beyond Reality (2027): The Future of Virtual and Augmented 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
 
COMP 4010: Lecture2 VR Technology
COMP 4010: Lecture2 VR TechnologyCOMP 4010: Lecture2 VR Technology
COMP 4010: Lecture2 VR Technology
 
COMP 4010: Lecture 4 - 3D User Interfaces for VR
COMP 4010: Lecture 4 - 3D User Interfaces for VRCOMP 4010: Lecture 4 - 3D User Interfaces for VR
COMP 4010: Lecture 4 - 3D User Interfaces for VR
 
Using Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR InterfacesUsing Interaction Design Methods for Creating AR and VR Interfaces
Using Interaction Design Methods for Creating AR and VR Interfaces
 

Similaire à Developing AR and VR Experiences with Unity

Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesMark Billinghurst
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR ExperiencesMark Billinghurst
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10Jiri Danihelka
 
STEM Camp Virtual Reality
STEM Camp Virtual RealitySTEM Camp Virtual Reality
STEM Camp Virtual RealityTomasz Bednarz
 
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK AugmentedWorldExpo
 
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
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectYash Kaushik
 
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar Meetup
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar MeetupDroidCon Paris 2013 - Recap at the Mobile Innovations Dakar Meetup
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar MeetupChristelle Scharff
 
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
 
How to Use WebVR to Enhance the Web Experience
How to Use WebVR to Enhance the Web ExperienceHow to Use WebVR to Enhance the Web Experience
How to Use WebVR to Enhance the Web ExperienceFITC
 
ARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, BlackberryARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, BlackberryDroidConTLV
 
Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Elif Boncuk
 
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
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldUnity Technologies
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudeAugmentedWorldExpo
 

Similaire à Developing AR and VR Experiences with Unity (20)

Mobile AR Tutorial
Mobile AR TutorialMobile AR Tutorial
Mobile AR Tutorial
 
Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR Experiences
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR Experiences
 
AR-VR Workshop
AR-VR WorkshopAR-VR Workshop
AR-VR Workshop
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
 
STEM Camp Virtual Reality
STEM Camp Virtual RealitySTEM Camp Virtual Reality
STEM Camp Virtual Reality
 
Lecture 4: VR Systems
Lecture 4: VR SystemsLecture 4: VR Systems
Lecture 4: VR Systems
 
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
Philipp Nagele (CTO, Wikitude) An Insider Deep-Dive into the Wikitude SDK
 
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
 
Augmented Reality Application - Final Year Project
Augmented Reality Application - Final Year ProjectAugmented Reality Application - Final Year Project
Augmented Reality Application - Final Year Project
 
Introduction to Unity
Introduction to UnityIntroduction to Unity
Introduction to Unity
 
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar Meetup
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar MeetupDroidCon Paris 2013 - Recap at the Mobile Innovations Dakar Meetup
DroidCon Paris 2013 - Recap at the Mobile Innovations Dakar Meetup
 
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
 
How to Use WebVR to Enhance the Web Experience
How to Use WebVR to Enhance the Web ExperienceHow to Use WebVR to Enhance the Web Experience
How to Use WebVR to Enhance the Web Experience
 
Lecture 9 AR Technology
Lecture 9 AR TechnologyLecture 9 AR Technology
Lecture 9 AR Technology
 
ARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, BlackberryARCore Dance Party - Uri Shaked, Blackberry
ARCore Dance Party - Uri Shaked, Blackberry
 
Overview of DroidCon UK 2015
Overview of DroidCon UK 2015 Overview of DroidCon UK 2015
Overview of DroidCon UK 2015
 
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
 
Augmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real worldAugmenting reality: Bring digital objects into the real world
Augmenting reality: Bring digital objects into the real world
 
Philipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with WikitudePhilipp Nagele (Wikitude): What's Next with Wikitude
Philipp Nagele (Wikitude): What's Next with Wikitude
 

Plus de Mark 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
 
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
 
Novel Interfaces for AR Systems
Novel Interfaces for AR SystemsNovel Interfaces for AR Systems
Novel Interfaces for AR SystemsMark Billinghurst
 
2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR PrototypingMark Billinghurst
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR TechnologyMark 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 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsComp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsMark Billinghurst
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsMark Billinghurst
 
Advanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARAdvanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARMark Billinghurst
 
Comp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingComp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingMark Billinghurst
 

Plus de Mark Billinghurst (17)

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
 
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
 
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 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping2022 COMP4010 Lecture5: AR Prototyping
2022 COMP4010 Lecture5: AR Prototyping
 
2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology2022 COMP4010 Lecture3: AR Technology
2022 COMP4010 Lecture3: AR Technology
 
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 Lecture13 More Research Directions
Comp4010 Lecture13 More Research DirectionsComp4010 Lecture13 More Research Directions
Comp4010 Lecture13 More Research Directions
 
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR ApplicationsComp4010 lecture11 VR Applications
Comp4010 lecture11 VR Applications
 
Advanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise ARAdvanced Methods for User Evaluation in Enterprise AR
Advanced Methods for User Evaluation in Enterprise AR
 
Comp4010 lecture6 Prototyping
Comp4010 lecture6 PrototypingComp4010 lecture6 Prototyping
Comp4010 lecture6 Prototyping
 

Dernier

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 

Dernier (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 

Developing AR and VR Experiences with Unity

  • 1. DEVELOPING AR AND VR EXPERIENCES WITH UNITY Mark Billinghurst University of South Australia November 7th 2017
  • 3. Virtual Reality Computer generated multi-sensory simulation of an artificial environment that is interactive and immersive.
  • 4.
  • 5. What is Virtual Reality? Virtual reality is.. a computer technology that replicates an environment, real or imagined, and simulates a user's physical presence and environment to allow for user interaction. (Wikipedia) • Defining Characteristics • Environment simulation • Presence • Interaction
  • 6. First VR Experience • “This is so real..” • https://www.youtube.com/watch?v=pAC5SeNH8jw
  • 8. Key Technologies for VR Systems • Visual Display • Stimulate visual sense • Audio/Tactile Display • Stimulate hearing/touch • Tracking • Changing viewpoint • User input • Input Devices • Supporting user interaction
  • 10. Augmented Reality Definition •Defining Characteristics [Azuma 97] • Combines Real andVirtual Images • Both can be seen at the same time • Interactive in real-time • The virtual content can be interacted with • Registered in 3D • Virtual objects appear fixed in space Azuma, R. T. (1997). A survey of augmented reality. Presence, 6(4), 355-385.
  • 12.
  • 14. Milgram’s Reality-Virtuality continuum Mixed Reality Reality - Virtuality (RV) Continuum Real Environment Augmented Reality (AR) Augmented Virtuality (AV) Virtual Environment "...anywhere between the extrema of the virtuality continuum." P. Milgram and A. F. Kishino, Taxonomy of Mixed Reality Visual Displays IEICE Transactions on Information and Systems, E77-D(12), pp. 1321-1329, 1994.
  • 16. Long History of AR and VR https://immersivelifeblog.files.wordpress.com/2015/04/vr_history.jpg
  • 17. 2005 - Mobile PhoneAR •Mobile Phones • camera • processor • display •AR on Mobile Phones • Simple graphics • Optimized computer vision • Collaborative Interaction
  • 18. Wellington Zoo Demo (2007) https://www.youtube.com/watch?v=edTjuXcce_c
  • 19. MobileAR 2009 - Outdoor Overlay • Mobile phone based • Tag real world locations • GPS + Compass input • Overlay graphics on live video • Applications • Travel guide,Advertising, etc • Wikitude, Layar, etc.. • iOS/Android, Public API released
  • 20. Layar Demo (2009) • https://www.youtube.com/watch?v=b64_16K2e08
  • 21. Vuforia Featured Apps (2015) • Mobile AR using Vuforia image tracking • https://www.youtube.com/watch?v=rohLgtLQrK4
  • 22. Mobile Camera AR Apps (2015 - ) • SnapChat - Lenses, World Lenses • Cinco de Mayo lens > 225 million views • Facebook - Camera Effects • Google – Word Lens/Translate
  • 23. ARKit/ARcore (2017) • Visual Inertial Odometry (VIO) systems • Mobile phone pose tracked by • Camera (Visual), Accelerometer & Gyroscope (Intertial) • Features • Plane detection, lighting detection, hardware optimisation • Links • https://developer.apple.com/arkit/ https://developers.google.com/ar/
  • 25. Computer Based vs. Mobile VR
  • 26. Oculus Rift Sony Morpheus HTC/Valve Vive 2016 - Rise of Consumer HMDs
  • 27. HTC Vive • Room scale tracking • Gesture input devices
  • 28. Example HTC Vive App – Tilt Brush https://www.youtube.com/watch?v=ijukZmYFX-0
  • 29. MobileVR:Google Cardboard • Released 2014 (Google 20% project) • >80 million shipped/given away • Easy to use developer tools + =
  • 30. more reading at http://www.gizmag.com/google-cardboard-2-review-initial/37777/ Presses the screen Figure: google cardboard v2 supports larger phone. Google Cardboard (v2)
  • 31. Many Mobile VR Viewers Available
  • 32. Types of VR Experiences • Immersive Spaces • 360 Panorama’s/Movies • High visual quality • Limited interactivity • Changing viewpoint orientation • Immersive Experiences • 3D graphics • Lower visual quality • High interactivity • Movement in space • Interact with objects
  • 33. Immersive Panorama • High quality 360 image or video surrounding user • User can turn head to see different views • Fixed position
  • 34. Example Applications • Within – Storytelling for VR • https://with.in/ • High quality 360 VR content • New York Times VR Experience • NYTVR application • Documentary experiences • Vimeo360 • https://join.vimeo.com/360/ • Immersive 360 movies
  • 35. Applications: Virtual Tours •Visualise architectural diagrams •Tools such as Autodesk, Revit supporting VR •Metricon, 3D tours
  • 36. Applications: Sports and Entertainment •www.Nexvr.com •Live streaming events •NBA Basketball VR •(1 game per week) •US Open Tennis VR •Live Nation concerts
  • 37. Capturing Panoramas • Stitching photos together • Image Composite Editor (Microsoft) • AutoPano (Kolor) • Using 360 camera • Ricoh Theta-S • Fly360
  • 38. Capturing 360 images Kodak 360 Fly 360 Gear 360 Theta S Nikon LG 360 Pointgrey Ladybug Panono 360 Bublcam
  • 39. Example: Cardboard Camera • Capture 360 panoramas • Stitch together images on phone • View in VR on Cardboard
  • 41. Google 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
  • 42. 100’s of Google Play Cardboard apps
  • 44. What You Need • Cardboard Viewer/VR Viewer • https://www.google.com/get/cardboard/ • Smart phone • Android/iOS • Authoring Tools/SDK • Google VR SDK • Unity/Unreal game engine • Non programming tools • Content • 3D models, video, images, sounds
  • 45. Software Tools • Low level SDKs • Need programming ability • Java, C#, C++, etc • Example: Google VR SDK (iOS, Android) • https://developers.google.com/vr/ • Game Engines • Powerful, need scripting ability • Unity - https://unity3d.com/ • Unreal - https://www.unrealengine.com/vr • Combine with VR plugins (HMDs, input devices) • Google VR Unity plugin
  • 47. Tools for Non-Programmers • Focus on Design, ease of use • Visual Programming, content arrangement • Examples • Insta-VR – 360 panoramas • http://www.instavr.co/ • Vizor – VR on the Web • http://vizor.io/ • A-frame – HTML based • https://aframe.io/ • ENTiTi – Both AR and VR authoring • http://www.wakingapp.com/ • Eon Creator – Drag and drop tool for AR/VR • http://www.eonreality.com/eon-creator/
  • 49.
  • 50. Unity Show Reel • https://www.youtube.com/watch?v=8lWpnvNxs8k
  • 51. Unity 3D Game Editor
  • 52. SETUP
  • 53. Download and Install • Go to unity3d.com/download • Use Download Assistant – pick components you want
  • 54. Getting Started • First time running Unity you’ll be asked to create a project • Specify project name and location
  • 55. Unity Interface • Toolbar, Scene, Hierarchy, Project, Inspector
  • 57. 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
  • 58. GameObjects • Every object in Scene is a GameObject • GameObjects contain Components • Eg Transform Component, Camera Component
  • 59. 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
  • 60. Positioning/Scaling Objects • Click on object and choose transform
  • 61. Unity Asset Store • Download thousands models, scripts, animations, etc • https://www.assetstore.unity3d.com/
  • 63. 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
  • 64. Create Project • Create new folder and project
  • 66. Create GameObject • Load a Sphere into the scene • GameObject -> 3D Object -> Sphere
  • 67. Moving main camera • Select Main Camera • Select translate icon • Move camera
  • 68. Add Light • GameObject -> Light -> Directional Light • Use inspector to modify light properties (colour, intensity)
  • 69. Add Physics • Select Sphere • Add Rigidbody component • Add Component -> Physics -> RigidBody • or Component -> Physics -> RigidBody • Modify inspector properties (mass, drag, etc)
  • 70. Add More Objects • Add several cubes • GameObject -> 3D Object – Cube • Move cube • Add Rigid Body component (uncheck gravity)
  • 71. Add Material • Assets -> Create -> Material • Click Albedo colour box in inspector • Select colour • Drag asset onto object to apply
  • 72. Add Script • Assets -> Create -> C# script • Edit script using Mono • Drag script onto Game Object
  • 73. 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); } }
  • 74. 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
  • 76. 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
  • 78. Key Steps 1. Creating new project 2. Loading Google VR package 3. Adding VR view emulation 4. Getting a panorama image 5. Creating a Skybox material 6. Adding a Skybox 7. Testing application 8. Deploying to mobile phone
  • 79. 1. New Project • Double click Unity icon • or within Unity File -> New Project
  • 81. 2. Load Google VR Package • Assuming you have already downloaded GoogleVRForUnity_1.100.1.unitypackage • Adding Google VR package • Assets -> Import package -> custom package • Navigate to Google VR package, select/open • Select import button on dialog
  • 82. Google VR Package • Mixture of scripts, prefabs, plugins etc for Google VR • Useful collection of Demos and resources
  • 83. 3. Adding VR View Emulation • Select Prefabs and drag GvrEditorEmlator to Hierarchy • Adds VR camera controls using mouse/keyboard • Change roll, pitch and yaw using mouse + Alt/Ctrl/Command keys
  • 85. 4. Getting a Panorama Image • Find/create suitable panorama image • Ideally 2K or higher resolution image • Google “Panorama Image Cubemap”
  • 86. Sample Panorama Image • http://paulbourke.net/miscellaneous/cubemaps/sph2.jpg
  • 87. 5. Creating a Skybox material • Import panorama image as a asset • Asset -> Import New Asset .. • In inspector – change texture type, shape • Texture type -> Default • Texture shape -> Cube • Mapping ->Latitude-Longitude
  • 88. Create Skybox Material • Assets -> Create -> Material • Name material • Set Shader to Skybox -> Cubemap • Drag pano texture to cubemap
  • 89. 6. Create Skybox • Make a new Skybox • Window -> Lighting -> Settings • In window Lighting settings • Drag Skybox material to Skybox material form
  • 91. 7. Testing Application • Select Maximize on Play • Hit play arrow and use mouse + Alt/Ctrl/Command keys
  • 92. 8. Deploying to Mobile Phone • Go to Build Settings • File -> Build Settings • Change platform to Android • Add open scenes • Check Development Build • In Player Settings • XR Settings -> VR supported • Other Settings • Change Package Name • E.g. com.BDVApano.PanoTest
  • 94. Key Steps 1. Create New Scene + add GvrEditorEmulator 2. Create body object and add camera to it 3. Add 3D objects to scene 4. Test 3D scene
  • 95. 1. Create Scene • File -> New Scene • Drag GvrEditorEmulator into hierarchy • Prefabs -> GvrEditorEmulator • Save scene (File -> Save Scene)
  • 96. 2. Create Body • Needed for correct camera motion • Create empty object and name it Body • GameObject -> Create Empty • Change y value of Body to 1.0 (or similar height) • Drag Main Camera under Body
  • 97. 3. Create Scene • Add a ground plane • Game Object -> 3D Object -> Plane • Add material to ground plane • Assets -> Create Material • Add cube, sphere, cylinder + materials, position around plane • Move Main Camera to (0,0,0) point
  • 98. 4. Test Scene • Select Maximize on Play • Hit play arrow and use mouse + Alt/Ctrl/Command keys
  • 100. 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
  • 101. New Project • Camera replaced with CameraMain
  • 102. Download Model Package • Magic Lamp from 3dFoin • Search on Asset store
  • 103. 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
  • 104. Import SkySphere package • SkySphere Volume1 on Asset store
  • 105. Add SkySphere to Scene • Drag Skyball_WithoutCap into Hierarchy • SkySphere_V1 -> Meshes • Rotate and Scale as needed
  • 106. Add Ground Plane • GameObject -> 3D Object -> Plane • Set Scale X to 2.0, Z to 2.0
  • 107. Testing View • Use alt/option key plus mouse to rotate view
  • 108. Adding More Assets • Load from Asset store – look for free assets
  • 110. Gaze Interaction • Using Gaze interaction is natural for VR • Without an eye-tracker it’s really head point • Goal is to have objects that respond to Gaze input • E.g. look at objects to have them change colour • Gaze + button input is particularly powerful • Gaze to highlight, then button click to select
  • 111. Key Steps •Using previous scene: 1. Add Event System 2. Add Gaze Reticle to Main Camera 3. Add Physics Raycaster to Camera 4. Add Event Trigger to Object 5. Create Gaze Input Script 6. Connect Script Functions 7. Test Scene
  • 112. 1. Add Event System • Need an Event System object to monitor events • E.g. Gaze going on and off an object • Google VR package has built in Event System • GoogleVR à Prefabs à EventSystem • Drag GvrEventSystem prefab into hierarchy
  • 113. 2. Add Gaze Reticle to Camera • Gaze reticle shows the center of the camera view • Gaze reticle prefabs • GoogleVR à Prefabs à Cardboard • Drag GvrReticlePointer under Main Camera • In inspector click on ReticlePointer to set colour (red in this case)
  • 114. 3. Add Physics Raycaster to Camera • Used to send ray from camera to collide with objects in the scene • Select Main Camera • Add Gvr Pointer Raycaster Component • Add Component à GvrPointerPhysicsRaycaster
  • 115. 4. Add Event Trigger to Object • Used to cause event to trigger when gazing at object • Select Cube • Add Event Trigger Component • Add Component à Event Trigger • Now when playing reticle changes shape over cube
  • 116. Add Event Trigger Type • We want something to happen when gaze at object • Change object colour when person looking at it • Add new event type to event trigger component • Hit Add New Event Type button • Add Pointer Enter and Point Exit events • Need to add function scripts to events
  • 117. 5. Create Gaze Input Script • Create a new Script • Cube à Add Component à New Script • Name script GazeInput • Edit Script – adding functions for changing object colour
  • 119. 6. Connect Script Functions • In event trigger drag Cube into object form • In Pointer Enter add HighlightColour Function • Gaze Input à HighlightColour() • In Pointer Exit add ResetColour Function • Gaze Input à ResetColour()
  • 120. 7. Test Scene • When gaze falls on Cube, Cube highlights white • Resets to original colour when gaze moves off
  • 123. Key Steps 1. Create simple scene 2. Add Character Controller to scene 3. Creating walk script 4. Connect Character Controller to script 5. Testing scene
  • 124. 1. Create Simple Scene • Create new scene • Add GvrEditorEmulator to hierarchy • Prefabs à GvrEditorEmulator • Add plane and objects
  • 125. 2. Add Character Controller to Scene • Add empty Body object • Add camera to Body • Add Character Controller to Body • Add Component à Character Controller • Move camera to top of Character Controller
  • 126. 3. Create Walking Script • Want to toggle walking on when user looks down • When looking down more than 30 degrees • Move forward in the direction the user is looking • Move the Body object • Add script to Main Camera • Add component à New Script
  • 128. 4. Connect Character Controller to script • Drag Body object into CC empty form space • Uses the Body Character Controller in script
  • 129. 5. Test Scene • Moving when head is tilted down • Move direction camera is facing • Adjust speed as needed
  • 130. AUGMENTED REALITY Using Vuforia to Create AR Experiences
  • 131.
  • 132. What you will learn • Introduction to Vuforia • Platform and features • How to install/set-up Vuforia • Vuforia Basics • Marker Tracking, Object tracking • Deploying to Mobile Device • Android, iOS
  • 134. Vuforia Overview • Platform for Mobile Computer Vision • https://www.qualcomm.com/products/vuforia • Released by Qualcomm in 2010, acquired by PTC 2015 • Used by over 200K developers, >20K applications • Main Features: • Recognition • Image, text, object recognition • Tracking • Image, marker, scene, object
  • 135. Vuforia Provides • Android • iOS • Unity Extension Device SDK • Target Management System • App Development Guide • Vuforia Web Services Tools & Services • Dedicated technical support engineers • Thousands of posts Support Forum
  • 144. Key Steps 1. Enable Vuforia in project 2. Load AR Camera 3. Configure camera 4. Load Tracking Image 5. Add 3D model 6. Test AR Scene
  • 145. 1. Enable Vuforia in project • If checked the Vuforia AR box on Unity install: • just check Vuforia Augmented Reality in player settings • Build Settings à Player Settings à XR Settings • If didn’t install, need to download and install package • See https://developer.vuforia.com/downloads/sdk • Download vuforia-unity-6-2-10.unitypackage
  • 146. 2. Add AR Camera to Scene • Add Vuforia camera object • Game Object à Vuforia à AR Camera • Delete Main Camera object
  • 147. 3. Configure Camera • Need to add Vuforia License key • Open AR Camera inspection • Open Vuforia Configuration
  • 148. Create Vuforia Developer Account • Need to create a Vuforia Developer account • https://developer.vuforia.com/ • Register for account
  • 149. License Manager Portal • Login to Vuforia account • Got to license manager • Develop à License Manager
  • 150. Request Development Key • Select Get Development Key • Enter application name
  • 151. Get License Key • Return to License Manager • Click on app name + copy license key
  • 152. Add License Key to Project • Paste key into Vuforia Configuration • AR Camera à Open Vuforia Configuration
  • 153. 4. Load Tracking Image • In Vuforia Configuration check image datasets • Load VuforiaMars_Images Database, Activate • Add tracking image to scene hierarchy • Game Object à Vuforia à Image • In imageTarget inspector, select image target, scale as needed
  • 155. 5. Add 3D Objects • Add 3D objects and assets • Add as child of Image target
  • 156. 6. Test Scene • Print AR tracking image or show on device • Hit play button and test with webcamera
  • 158. 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
  • 159. Physiological Considerations • Factors to Consider • Head tracking • User control of movement • Use constant velocity • Grounding with fixed objects • Brightness changes
  • 160. Interactive Patterns - Setup • Setup factors to consider: • Entering and exiting • Headset adaptation • Full Screen mode • API calls • Indicating VR apps
  • 161. Interactive Patterns - Controls • Use fuze buttons for selection in VR
  • 162. Interactive Patterns - Feedback • Use audio and haptic feedback • Reduce visual overload • Audio alerts • 3D spatial sound • Phone vibrations
  • 163. 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
  • 164. Cardboard Design Lab Application • Use Cardboard Design Lab app to explore design ideas
  • 166. Many Areas for AR/VR Research • Display • Wide field of view, new display technologies • Tracking • Precise tracking, wide area • Interaction • Natural gesture interaction, human factors • Authoring Tools • Content capture, authoring • Applications • Collaboration, large scale
  • 167. Bare Hands • Using computer vision to track bare hand input • Creates compelling sense of Presence, natural interaction • Challenges need to be solved • Not having sense of touch • Line of sight required to sensor • Fatigue from holding hands in front of sensor
  • 168. Example: Leap Motion • https://www.youtube.com/watch?v=QD4qQBL0X80
  • 169. Eye Tracking • Technology • Shine IR light into eye and look for reflections • Advantages • Provides natural hands-free input • Gaze provides cues as to user attention • Can be combined with other input technologies
  • 170. Example: FOVE VR Headset • Eye tracker integrated into VR HMD • Gaze driven user interface, foveated rendering • https://www.youtube.com/watch?v=8dwdzPaqsDY
  • 171. Pedestrian Devices • Pedestrian input in VR • Walking/running in VR • Virtuix Omni • Special shoes • http://www.virtuix.com • Cyberith Virtualizer • Socks + slippery surface • http://cyberith.com
  • 172. Cyberith Virtualizer Demo • https://www.youtube.com/watch?v=R8lmf3OFrms
  • 173. Social VR • Facebook Social Virtual Reality, AltspaceVR • Bringing Avatars into VR space • Natural social interaction
  • 174. Demo: Facebook Social VR https://www.youtube.com/watch?v=yxHwWHHg4Vs
  • 176. Conclusion • VR and AR have a long history • Early prototypes from 1960’s onwards • Having second phase of commercial success • Projected to grow to over $120B market by 2020 • Mostly mobile AR/VR in near term • It is easier than ever before to develop AR/VR apps • Multiple easy to use tools for non-programmers • Powerful developer tools for programmers • There are many opportunities for research • Collaboration, interaction, navigation, etc
  • 178. Google Poly for 3D models • https://poly.google.com/ • Repository of user contributed low polygon objects • Free to download for AR/VR applications
  • 179. Resources • Excellent book • 3D User Interfaces: Theory and Practice • Doug Bowman, Ernst Kruijff, Joseph, LaViola, Ivan Poupyrev • Great Website • http://www.uxofvr.com/ • 3D UI research at Virginia Tech. • research.cs.vt.edu/3di/
  • 180. Other Books • Augmented Reality for Developers: Build practical augmented reality applications with Unity, ARCore, ARKit, and Vuforia • Jonathan Linowes, Krystian Babilinski • Unity Virtual Reality Projects • Jonathan Linowes • Holistic Game Development with Unity: An All-in-One Guide to Implementing Game Mechanics, Art, Design and Programming • Penny de Byl
  • 181. UX of VR Website - www.uxofvr.com • Many examples of great interaction techniques • Videos, books, articles, slides, code, etc..
  • 182. Useful VR Resources • Unity VR Tutorials • https://unity3d.com/learn/tutorials/s/virtual-reality • Google Cardboard main page • https://vr.google.com/cardboard/ • Developer Website • https://vr.google.com/cardboard/developers/ • Building a VR app for Cardboard (Old SDK) • http://www.sitepoint.com/building-a-google-cardboard-vr-app-in-unity/ • Moving in VR space (Old SDK) • http://www.instructables.com/id/Prototyping-Interactive-Environments- in-Virtual-Re/
  • 183. Useful AR Resources • Vuforia Main Page • https://www.vuforia.com/ • Vuforia Developer Page • https://developer.vuforia.com • Vuforia Getting Started • https://library.vuforia.com/articles/Training/getting-started-with- vuforia-in-unity-2017-2-beta.html • ARreverie Tutorial (Old SDK) • http://www.arreverie.com/blogs/tutorial-1-get-started-developing-ar- apps-unity-vuforia-imagetarget/ • Instructable Tutorial (Old SDK) • http://www.instructables.com/id/Augmented-Reality-Tutorial-for- Beginners-With-Vufo/