SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
DEVELOPING VR IN UNITY
ADITYO PRATOMO - LABTEK INDIE
DEVELOPING VR IN UNITY
ABOUT ME
▸ Chief Technology Officer at
Labtek Indie
▸ Chief Academic Officer at
Froyo Framework
▸ Certified Unity Developer
#20167UCD724
▸ Loves to tinker with tech
DEVELOPING VR IN UNITY
VR IN LABTEK INDIE
It’s Strange (2015)
Oculus Rift & Leap Motion, developed in Unity
https://irunsiregar.itch.io/its-strange
https://www.youtube.com/watch?v=oTii7SSfyLM
DEVELOPING VR IN UNITY
VR IN LABTEK INDIE
Combat League (2016)
Oculus Rift, developed in Unreal Engine
https://www.youtube.com/watch?v=1sHrSOe8JM8
DEVELOPING VR IN UNITY
VR IN LABTEK INDIE
99 Names (2015)
Web VR, developed in JS with ThreeJS
99names.adityo.net
DEVELOPING VR IN UNITY
VR IN LABTEK INDIE
Mixed Reality Experiment
Google Cardboard devloped in Unity with Vuforia SDK
http://www.adityo.net/?p=1146
DEVELOPING VR IN UNITY
WHAT I’LL TALK
▸ VR Tech Overview
▸ Desktop VR vs Mobile VR
▸ VR in Unity
▸ Interaction in VR
▸ Towards Better VR Experience
▸ Future Prediction
NOW IS THE TIME TO START MAKING SOMETHING IN VR, EVEN IF
YOU DON'T PLAN ON LAUNCHING IT. IT IS A REALLY GOOD IDEA
TO START EXPERIMENTING AND SEE WHAT YOU CAN LEARN.
EVEN IF YOU'RE NOT GOING TO LAUNCH SOMETHING, IT IS GOOD
TO HAVE EXPERIENCE IN VIRTUAL REALITY SO THAT IF IT MAKES
SENSE FOR YOU TO GET INTO IT, YOU'RE ABLE TO
Palmer Luckey (Co-founder of Oculus)
DEVELOPING VR IN UNITY
DEVELOPING VR IN UNITY
VR TECH OVERVIEW
▸ VR is a tech that creates new perception of reality in the
mind of its users
▸ Achieved through the use of HMD (Head Mounted
Display) that tricks its user into thinking he/she is in a
different place
▸ Closely related to AR, but not similar nor has hierarchical
relation
DEVELOPING VR IN UNITY
VR TECH OVERVIEW
DEVELOPING VR IN UNITY
VR TECH OVERVIEW
1. Lens
‣ Emulating depth via focal point adjustment
2. Display
‣ Stereo rendering
‣ FOV emulates real life view
3. Tracking Technology
‣ Tracking head movement
‣ Uses gyro and accelerometer in smartphone
4. 3D Audio
‣ Immersive 3D audio
DEVELOPING VR IN UNITY
CURRENT VR PLATFORMS
PC
ANDROID
CONSOLE
OCULUS RIFT HTC VIVE
GOOGLE VR
(CARDBOARD & DAYDREAM)
SAMSUNG
GEAR VR
PS VR
OSVR
DEVELOPING VR IN UNITY
DESKTOP VR VS MOBILE VR: FROM THE TECH SIDE
▸ Desktop VR requires more horse power, but has potential
for many kind of interaction and contents
▸ Mobile VR experience is hampered by the device’s spec
▸ Desktop VR can do positional tracking
▸ Mobile VR can only do head positional tracking
▸ Batteries vs Cable
▸ Both do VR content rendering in roughly the same way
DEVELOPING VR IN UNITY
DESKTOP VR VS MOBILE VR: FROM THE BUSINESS SIDE
▸ Mobile VR has lower entry barrier, mid-high end Android
phone is sufficient
▸ Desktop VR requires high end gaming rig
▸ Mobile VR has way larger potential market than Desktop
▸ Desktop VR will interests hardcore gamer
▸ Mobile VR will interests budget-oriented gadget
enthusiasts
DEVELOPING VR IN UNITY
DESKTOP VR VS MOBILE VR
▸ Mobile VR will help promoting VR to the masses
▸ Desktop VR will help pushing the boundaries, tech wise
▸ Both is ready for mass development, NOW!
DEVELOPING VR IN UNITY
WHY DEVELOP VR NOW?
▸ Relatively new tech
▸ Still no best practice sets in stone
▸ Experiments are highly appreciated
▸ Big or small developers, everybody are still finding its feet
▸ YOU can make the difference
DEVELOPING VR IN UNITY
VR IN UNITY PC
OCULUS RIFT HTC VIVE OSVR
OCULUS RIFT DK2 / CV1
WIN 7+
UNITY 5.X
DEVELOPING VR IN UNITY
VR IN UNITY PC
OCULUS RIFT HTC VIVE OSVR
HTC VIVE
WIN 7+
UNITY 5.X
DEVELOPING VR IN UNITY
VR IN UNITY PC
OCULUS RIFT HTC VIVE OSVR
OSVR HMD
WIN 7+
UNITY 5.X
DEVELOPING VR IN UNITY
VR IN UNITY ANDROID
GOOGLE VR
(CARDBOARD & DAYDREAM)
SAMSUNG
GEAR VR
ANDROID VR HMD
ANDROID 5.1 +
UNITY 5.X
GOOGLE CARDBOARD SDK
NEXUS 6 (DAYDREAM)
DEVELOPING VR IN UNITY
VR IN UNITY ANDROID
GOOGLE VR
(CARDBOARD & DAYDREAM)
SAMSUNG
GEAR VR
ANDROID VR HMD
ANDROID 5.1 +
UNITY 5.X
VUFORIA SDK
DEVELOPING VR IN UNITY
VR IN UNITY ANDROID
GOOGLE VR
(CARDBOARD & DAYDREAM)
SAMSUNG
GEAR VR
ANDROID 5.1 +
UNITY 5.X
SAMSUNG GALAXY S7
SAMSUNG GEAR VR
DEVELOPING VR IN UNITY
VR IN UNITY: GENERAL ARCHITECTURE
▸ Default camera is replaced
by vendor-specific VR camera
(usually comes as prefab)
▸ VR Camera will render the
game scene to be VR-ready
▸ Other game objects are used
as usual
GAME SCENE
VR CAMERA
OTHER GAME OBJECTS
DEVELOPING VR IN UNITY
VR IN UNITY: TIPS FOR THE FIRST TIMER
▸ Most of the time, you’ll wrestle with setting up specific
environment
▸ Oculus: Get the latest SDK and fulfil the requirements,
use Rift DK2 at least, don’t use laptop
▸ Android: setup Android SDK properly, Google and
Vuforia SDKs are generally easy to set up
DEVELOPING VR IN UNITY
VR IN UNITY
▸ After replacing the Main Camera object with the vendor-
specific, AR Camera prefab, you’re done.
▸ EASY!
▸ Demo…
WHAT ELSE TO
DO?
if getting VR to up and run is easy, then
LET’S TALK ABOUT
INTERACTION
DEVELOPING VR IN UNITY
INTERACTION IN VR
▸ With headset strapped on, it’s hard to look around
▸ Mouse + keyboard, won’t be the best way to interact
DEVELOPING VR IN UNITY
INTERACTION IN VR
LOOK
AROUND
GAMEPAD
INTERACTION
GAZE
INTERACTION
NATURAL INTERACTION (AVAILABLE NOW)
OCULUS
TOUCH
VIVE
CONTROLLER
GOOGLE
DAYDREAM
LEAP
MOTION
EXPERIMENTAL INTERACTION (DIY)
VOICE
CONTROLLER
CUSTOM ELECTRONIC
(ARDUINO / RPI / ETC)
?
easy to develop,
minimal interaction
harder to develop,
rich interaction
DEVELOPING VR IN UNITY
INTERACTION IN VR: LOOK AROUND
▸ The most basic thing you can do inside VR
▸ Replacing traditional FPS camera, controlled by mouse,
with your head
▸ Results in a natural, immersive experience
▸ Used in many VR videos
▸ Minimum interaction, but can still produces excellent
experience
DEVELOPING VR IN UNITY
360 PHOTOS / VIDEOS IN UNITY
▸ Generally speaking, here are the steps:
▸ Obtain 360 photo/video
▸ Make a skybox using sphere/cube
▸ Use the photo/video as the texture for the skybox
DEVELOPING VR IN UNITY
360 PHOTOS / VIDEOS IN UNITY
DEVELOPING VR IN UNITY
360 PHOTOS / VIDEOS IN UNITY
▸ Plugin:
▸ Easy Movie Texture (https://www.assetstore.unity3d.com/en/#!/
content/10032)
▸ Discussions:
▸ http://bernieroehl.com/360stereoinunity/
▸ http://forum.unity3d.com/threads/projecting-a-360-degree-vr-
video-on-a-sphere.376522/
▸ http://talesfromtherift.com/use-a-360-degree-panorama-as-a-
skybox/
DEVELOPING VR IN UNITY
GAZE INTERACTION
▸ Using eye as an input
▸ Activating an object by looking at it for a certain period
▸ (Optional) use Gaze Reticle to help user find it’s view’s
crosshair
DEVELOPING VR IN UNITY
GAZE INTERACTION
DEVELOPING VR IN UNITY
GAZE INTERACTION
▸ Google Cardboard SDK:
▸ Use GvrGaze script
▸ Drag the script from Assets/GoogleVR/Scripts/UI/
GvrGaze onto to the camera
▸ Implement IGvrGazePointer and
IGvrGazeResponder to the interactive object
▸ Vuforia SDK uses Google’s Gaze
DEVELOPING VR IN UNITY
NATURAL INTERACTION WITH LEAP MOTION
▸ Leap Motion offers the
ability to track hand
gestures
▸ It can be sticked in front of
Oculus/Vive to enable user
to see his/her hands
▸ Thus, enables a natural
interaction using hands,
while inside VR
DEVELOPING VR IN UNITY
NATURAL INTERACTION WITH LEAP MOTION
DEVELOPING VR WITH UNITY
NATURAL INTERACTION WITH LEAP MOTION
▸ Download and Import the Leap Motion Core Assets
Unity Package
▸ Use the LeapOVRPlayerController Prefab from the
Leap Motion + OVR directory as the main VR Camera
▸ The hand will be added to the screen and acts as a 3D
objects, just like the others (with colliders too!)
DEVELOPING VR IN UNITY
EXPERIMENTAL INTERACTION: VOICE CONTROL
▸ Use voice to give input to the VR world
▸ Closely tied to the deployment platform
▸ iOS, Android, Windows, Mac, has its own voice
recognition system
▸ Unity 5.4 can natively do voice recognition in Windows
(https://developer.microsoft.com/en-us/windows/
holographic/voice_input_in_unity)
DEVELOPING VR IN UNITY
EXPERIMENTAL INTERACTION: VOICE CONTROL
▸ Unity-only solution:
▸ Ispikit: https://github.com/ispikit/ispikit-unity
▸ Word Detection: https://www.assetstore.unity3d.com/en/#!/
content/4518
▸ Unity + other:
▸ Read Serial in Unity
▸ Do voice recognition in other using Python/NodeJS/etc and
send serial from there
DEVELOPING VR IN UNITY
EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC
▸ If you have something different, why not make it yourself
▸ Use Arduino / Raspberry Pi / etc. to read from certain
sensor and send its data to Unity
▸ Vital to create haptic feedback and experimenting with
different kinds of interaction
▸ Make one of a kind immersive experience
DEVELOPING VR IN UNITY
EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC
DEVELOPING VR IN UNITY
EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC
▸ Use Unity to receive Serial data
▸ Android & Microcontroller Bluetooth: https://
www.assetstore.unity3d.com/en/#!/content/16467
▸ SimpleSerialPort: https://www.assetstore.unity3d.com/en/#!/
content/53594
▸ Attach sensors to Arduino/Raspberry Pi/other
▸ Send data via Serial/Bluetooth
▸ Watch out for latency!
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Simulation sickness is VR’s biggest enemy
▸ Cause: brain is tricked to feel movement, while static
▸ When that trick is broken, nausea attacks, users opt out
from the experience (and probably won’t come back)
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Technical causes:
▸ Latency (maximum should be 20ms)
▸ Many research has gone into how to solve this issue
▸ Many solutions, but none has quite hits the mark
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Hardware design solution:
▸ More comfortable lens
▸ More comfortable HMD when strapped on
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Content design:
▸ Adding nose and feet
▸ Shows a fixed reference point in a frame
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Game design - movement:
▸ In-game movement have more latency potential than
standing still
▸ objects are continuously and dynamically rendered in real-
time
▸ more processing power
▸ To move around, use teleport
▸ Teleport can be done with gaze interaction, no controller is
required
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
Keep Talking and Nobody Explodes
www.keeptalkinggame.com
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Game design - movement:
▸ To move around:
▸ use teleport
▸ use pre-determined route
▸ Teleport can be done with gaze interaction, no controller is
required
▸ Pre-determined route will ease us in optimizing assets
▸ Don’t add unnecessary vertical movement
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
Teleport:
https://developer.oculus.com/blog/introducing-the-
oculus-sample-framework-for-unity-5/
INMIND VR:
https://developer.oculus.com/blog/introducing-the-
oculus-sample-framework-for-unity-5/
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Game design - camera view:
▸ It’s natural to have first person view, but it’s easier to
result in simulation sickness
▸ To reduce that, use third person view, it will still have
good experience
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
Chronos:
www.chronosvr.com
Colosse:
colossevr.tumblr.com
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Tech tips:
▸ Use low poly objects, with high-res textures to
compensate
▸ Toon-shading is okay, photorealistic can probably
causes latency
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
Job Simulator:
www.jobsimulatorgame.com
Land’s End:
www.landsendgame.com
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
▸ Tech tips:
▸ Use as many static object as possible (uses least RAM)
▸ Use LOD, culling and batching to prevent rendering too
many object at the same time
▸ Use as many baked lighting as possible
▸ https://unity3d.com/learn/tutorials/topics/virtual-reality/
optimisation-vr-unity
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE
▸ Experience design:
▸ Design experience from the ground up, don’t just adapt
already available 3D game to VR
▸ VR is now best experienced in short but meaningful time
(5-20 minutes)
▸ Design focal point, because the user can look into any
direction
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE
▸ UI design:
▸ Make sure the user can see the UI at any time
▸ Go for “no-UI” style, embed the required information in
the objects, just like in normal life
▸ Enable the player to look around, even when in pause
mode
DEVELOPING VR IN UNITY
TOWARDS BETTER VR EXPERIENCE
DEVELOPING VR IN UNITY
FUTURE PREDICTION
▸ Lower cost of desktop VR
▸ WebVR
▸ VR beyond entertainment
AT THE SAME TIME, I'D SAY DEVELOPERS SHOULD BE REALISTIC. DON'T
BELIEVE THE MOST OPTIMISTIC THINGS THE ANALYSTS SAY. ESPECIALLY
WHEN THOSE ANALYSTS DON'T ACTUALLY KNOW ANYTHING ABOUT VR.
IT'S GOING TO TAKE TIME FOR VIRTUAL REALITY TO BECOME TRULY
MASS MARKET AND SUCCESSFUL, SO PEOPLE SHOULD SCALE THEIR
EFFORTS APPROPRIATELY.
Palmer Luckey (Co-founder of Oculus)
DEVELOPING VR IN UNITY
THANK YOUdidit@labtekindie.com
@kotakmakan

Contenu connexe

Tendances

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
 
Augmented World Expo 2014 Wearable SDK Overview
Augmented World Expo 2014 Wearable SDK OverviewAugmented World Expo 2014 Wearable SDK Overview
Augmented World Expo 2014 Wearable SDK OverviewPatrick O'Shaughnessey
 
Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMark Billinghurst
 
Mini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dMini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dAkshetPatel
 
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
 
VSMM 2016 Keynote: Using AR and VR to create Empathic Experiences
VSMM 2016 Keynote: Using AR and VR to create Empathic ExperiencesVSMM 2016 Keynote: Using AR and VR to create Empathic Experiences
VSMM 2016 Keynote: Using AR and VR to create Empathic ExperiencesMark Billinghurst
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARMark Billinghurst
 
COMP 4010 Lecture6 - Virtual Reality Input Devices
COMP 4010 Lecture6 - Virtual Reality Input DevicesCOMP 4010 Lecture6 - Virtual Reality Input Devices
COMP 4010 Lecture6 - Virtual Reality Input DevicesMark Billinghurst
 
COMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyCOMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyMark Billinghurst
 
Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Davide Zordan
 
VR and Gamification Trend & Application in Sports
VR and Gamification Trend & Application in SportsVR and Gamification Trend & Application in Sports
VR and Gamification Trend & Application in SportsMohd Shahrizal Sunar
 
2016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 52016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 5Mark Billinghurst
 
2016 AR Summer School Lecture2
2016 AR Summer School Lecture22016 AR Summer School Lecture2
2016 AR Summer School Lecture2Mark Billinghurst
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMark Billinghurst
 
COMP 4010 - Lecture 8 AR Technology
COMP 4010 - Lecture 8 AR TechnologyCOMP 4010 - Lecture 8 AR Technology
COMP 4010 - Lecture 8 AR TechnologyMark Billinghurst
 
How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...WithTheBest
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboardapurvmmmec
 
Immersive Virtual Reality
Immersive Virtual RealityImmersive Virtual Reality
Immersive Virtual RealitySebastien Kuntz
 
Ubiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoTUbiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoTnazlitemu
 

Tendances (20)

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
 
Augmented World Expo 2014 Wearable SDK Overview
Augmented World Expo 2014 Wearable SDK OverviewAugmented World Expo 2014 Wearable SDK Overview
Augmented World Expo 2014 Wearable SDK Overview
 
Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based AR
 
Mini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 dMini workshop on ar vr using unity3 d
Mini workshop on ar vr using unity3 d
 
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
 
VSMM 2016 Keynote: Using AR and VR to create Empathic Experiences
VSMM 2016 Keynote: Using AR and VR to create Empathic ExperiencesVSMM 2016 Keynote: Using AR and VR to create Empathic Experiences
VSMM 2016 Keynote: Using AR and VR to create Empathic Experiences
 
COMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile ARCOMP 4010 - Lecture10: Mobile AR
COMP 4010 - Lecture10: Mobile AR
 
COMP 4010 Lecture6 - Virtual Reality Input Devices
COMP 4010 Lecture6 - Virtual Reality Input DevicesCOMP 4010 Lecture6 - Virtual Reality Input Devices
COMP 4010 Lecture6 - Virtual Reality Input Devices
 
COMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR TechnologyCOMP 4010: Lecture8 - AR Technology
COMP 4010: Lecture8 - AR Technology
 
Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020Getting started with Unity and AR/VR for the .NET developer - October 2020
Getting started with Unity and AR/VR for the .NET developer - October 2020
 
VR and Gamification Trend & Application in Sports
VR and Gamification Trend & Application in SportsVR and Gamification Trend & Application in Sports
VR and Gamification Trend & Application in Sports
 
Virtual Reality - Get in the Game
Virtual Reality - Get in the GameVirtual Reality - Get in the Game
Virtual Reality - Get in the Game
 
2016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 52016 AR Summer School - Lecture 5
2016 AR Summer School - Lecture 5
 
2016 AR Summer School Lecture2
2016 AR Summer School Lecture22016 AR Summer School Lecture2
2016 AR Summer School Lecture2
 
Mobile AR Lecture1-introduction
Mobile AR Lecture1-introductionMobile AR Lecture1-introduction
Mobile AR Lecture1-introduction
 
COMP 4010 - Lecture 8 AR Technology
COMP 4010 - Lecture 8 AR TechnologyCOMP 4010 - Lecture 8 AR Technology
COMP 4010 - Lecture 8 AR Technology
 
How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...How to create powerfully interactive & collaborative VR applications - Sébast...
How to create powerfully interactive & collaborative VR applications - Sébast...
 
Developing Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google CardboardDeveloping Virtual Reality Application using Google Cardboard
Developing Virtual Reality Application using Google Cardboard
 
Immersive Virtual Reality
Immersive Virtual RealityImmersive Virtual Reality
Immersive Virtual Reality
 
Ubiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoTUbiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoT
 

En vedette

Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Kelvin Lo
 
Getting Started with C/C# Game Development Part 1
Getting Started with C/C# Game Development Part 1Getting Started with C/C# Game Development Part 1
Getting Started with C/C# Game Development Part 1CEGD
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave enginewaveengineteam
 
沖縄まで踊りに来たぜ!VR/AR/MR最前線
沖縄まで踊りに来たぜ!VR/AR/MR最前線沖縄まで踊りに来たぜ!VR/AR/MR最前線
沖縄まで踊りに来たぜ!VR/AR/MR最前線Satoshi Maemoto
 
VR/AR/MRってなんですか?
VR/AR/MRってなんですか?VR/AR/MRってなんですか?
VR/AR/MRってなんですか?Satoshi Maemoto
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC ViveAvanade Nederland
 
Gaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dGaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dBond University
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game DevelopmentMohammad Shaker
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationDevGAMM Conference
 
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)Designing for all the Rs (VR/AR/SR/MR/HR/etc...)
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)Nikola Ranguelov
 
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015Codemotion
 
Unity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsUnity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsIntel® Software
 
Developing for Room-Scale VR Using Unity3d
Developing for Room-Scale VR Using Unity3dDeveloping for Room-Scale VR Using Unity3d
Developing for Room-Scale VR Using Unity3dRising Media, Inc.
 
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
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineOrisysIndia
 
Virtual Reality: Are You Ready? - SMPS Presentation Boaz Ashkenazy
Virtual Reality: Are You Ready? - SMPS Presentation Boaz AshkenazyVirtual Reality: Are You Ready? - SMPS Presentation Boaz Ashkenazy
Virtual Reality: Are You Ready? - SMPS Presentation Boaz AshkenazyBoaz Ashkenazy
 
The Spoon: VR Outlook in Hong Kong - September 2016
The Spoon: VR Outlook in Hong Kong - September 2016The Spoon: VR Outlook in Hong Kong - September 2016
The Spoon: VR Outlook in Hong Kong - September 2016Casey Lau
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR ExperiencesMark Billinghurst
 

En vedette (20)

Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127Unity vr jam_kelvin_1127
Unity vr jam_kelvin_1127
 
Getting Started with C/C# Game Development Part 1
Getting Started with C/C# Game Development Part 1Getting Started with C/C# Game Development Part 1
Getting Started with C/C# Game Development Part 1
 
Introduction to wave engine
Introduction to wave engineIntroduction to wave engine
Introduction to wave engine
 
沖縄まで踊りに来たぜ!VR/AR/MR最前線
沖縄まで踊りに来たぜ!VR/AR/MR最前線沖縄まで踊りに来たぜ!VR/AR/MR最前線
沖縄まで踊りに来たぜ!VR/AR/MR最前線
 
VR/AR/MRってなんですか?
VR/AR/MRってなんですか?VR/AR/MRってなんですか?
VR/AR/MRってなんですか?
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC Vive
 
Gaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3dGaze detection with Virtual Reality and Unity 3d
Gaze detection with Virtual Reality and Unity 3d
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity application
 
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)Designing for all the Rs (VR/AR/SR/MR/HR/etc...)
Designing for all the Rs (VR/AR/SR/MR/HR/etc...)
 
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
Hands On with the Unity 5 Game Engine! - Andy Touch - Codemotion Roma 2015
 
Unity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsUnity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and Tools
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
 
Developing for Room-Scale VR Using Unity3d
Developing for Room-Scale VR Using Unity3dDeveloping for Room-Scale VR Using Unity3d
Developing for Room-Scale VR Using Unity3d
 
COMP 4026 - Lecture 1
COMP 4026 - Lecture 1COMP 4026 - Lecture 1
COMP 4026 - Lecture 1
 
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
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game Engine
 
Virtual Reality: Are You Ready? - SMPS Presentation Boaz Ashkenazy
Virtual Reality: Are You Ready? - SMPS Presentation Boaz AshkenazyVirtual Reality: Are You Ready? - SMPS Presentation Boaz Ashkenazy
Virtual Reality: Are You Ready? - SMPS Presentation Boaz Ashkenazy
 
The Spoon: VR Outlook in Hong Kong - September 2016
The Spoon: VR Outlook in Hong Kong - September 2016The Spoon: VR Outlook in Hong Kong - September 2016
The Spoon: VR Outlook in Hong Kong - September 2016
 
Building AR and VR Experiences
Building AR and VR ExperiencesBuilding AR and VR Experiences
Building AR and VR Experiences
 

Similaire à Developing VR in Unity

SE2016 Android Sergej Komlach "Tensor flow in android"
SE2016 Android Sergej Komlach "Tensor flow in android"SE2016 Android Sergej Komlach "Tensor flow in android"
SE2016 Android Sergej Komlach "Tensor flow in android"Inhacking
 
From Cardboard to Daydream - The Evolution of VR on Android
From Cardboard to Daydream - The Evolution of VR on AndroidFrom Cardboard to Daydream - The Evolution of VR on Android
From Cardboard to Daydream - The Evolution of VR on AndroidOscar Salguero
 
Presence in Virtual Reality Experience
Presence in Virtual Reality ExperiencePresence in Virtual Reality Experience
Presence in Virtual Reality ExperienceIrem Gokce Aydin
 
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
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR ExperienceMark Billinghurst
 
AR / VR and HMD / Smart Glass - Latest News October 2016
AR / VR and HMD / Smart Glass - Latest News  October 2016AR / VR and HMD / Smart Glass - Latest News  October 2016
AR / VR and HMD / Smart Glass - Latest News October 2016Etsuji Kameyama
 
Emakina Digital Reality
Emakina Digital RealityEmakina Digital Reality
Emakina Digital RealityEmakina
 
Emakina Digital Reality
Emakina Digital RealityEmakina Digital Reality
Emakina Digital RealityEmakina
 
Getting started with immersive technologies
Getting started with immersive technologiesGetting started with immersive technologies
Getting started with immersive technologiesUchechukwu Obimma
 
The Publisher's Response, Digiday WTF VR, May 11th, 2016
The Publisher's Response, Digiday WTF VR, May 11th, 2016The Publisher's Response, Digiday WTF VR, May 11th, 2016
The Publisher's Response, Digiday WTF VR, May 11th, 2016Digiday
 
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
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiWithTheBest
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedMartin Climatiano
 
Immersive Storytelling Mediums
Immersive Storytelling MediumsImmersive Storytelling Mediums
Immersive Storytelling MediumsDaniel Blair
 
Broadway Entertainment Group Interactive Introduction
Broadway Entertainment Group Interactive IntroductionBroadway Entertainment Group Interactive Introduction
Broadway Entertainment Group Interactive IntroductionKiwon Seo
 
Ict presentation
Ict presentationIct presentation
Ict presentationchuchikwong
 
ITD 150: Intro to Augmented Reality
ITD 150: Intro to Augmented RealityITD 150: Intro to Augmented Reality
ITD 150: Intro to Augmented RealityJackson Barnes
 

Similaire à Developing VR in Unity (20)

SE2016 Android Sergej Komlach "Tensor flow in android"
SE2016 Android Sergej Komlach "Tensor flow in android"SE2016 Android Sergej Komlach "Tensor flow in android"
SE2016 Android Sergej Komlach "Tensor flow in android"
 
Sergej Komlach Tensor flow in android
Sergej Komlach Tensor flow in androidSergej Komlach Tensor flow in android
Sergej Komlach Tensor flow in android
 
From Cardboard to Daydream - The Evolution of VR on Android
From Cardboard to Daydream - The Evolution of VR on AndroidFrom Cardboard to Daydream - The Evolution of VR on Android
From Cardboard to Daydream - The Evolution of VR on Android
 
Presence in Virtual Reality Experience
Presence in Virtual Reality ExperiencePresence in Virtual Reality Experience
Presence in Virtual Reality Experience
 
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
 
Create Your Own VR Experience
Create Your Own VR ExperienceCreate Your Own VR Experience
Create Your Own VR Experience
 
AR / VR and HMD / Smart Glass - Latest News October 2016
AR / VR and HMD / Smart Glass - Latest News  October 2016AR / VR and HMD / Smart Glass - Latest News  October 2016
AR / VR and HMD / Smart Glass - Latest News October 2016
 
VR and google Cardboard
VR and google CardboardVR and google Cardboard
VR and google Cardboard
 
Emakina Digital Reality
Emakina Digital RealityEmakina Digital Reality
Emakina Digital Reality
 
Emakina Digital Reality
Emakina Digital RealityEmakina Digital Reality
Emakina Digital Reality
 
Getting started with immersive technologies
Getting started with immersive technologiesGetting started with immersive technologies
Getting started with immersive technologies
 
The Publisher's Response, Digiday WTF VR, May 11th, 2016
The Publisher's Response, Digiday WTF VR, May 11th, 2016The Publisher's Response, Digiday WTF VR, May 11th, 2016
The Publisher's Response, Digiday WTF VR, May 11th, 2016
 
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
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir Ebrahimi
 
Developing Games For VR - Lessons Learned
Developing Games For VR - Lessons LearnedDeveloping Games For VR - Lessons Learned
Developing Games For VR - Lessons Learned
 
Immersive Storytelling Mediums
Immersive Storytelling MediumsImmersive Storytelling Mediums
Immersive Storytelling Mediums
 
Broadway Entertainment Group Interactive Introduction
Broadway Entertainment Group Interactive IntroductionBroadway Entertainment Group Interactive Introduction
Broadway Entertainment Group Interactive Introduction
 
Ict presentation
Ict presentationIct presentation
Ict presentation
 
ITD 150: Intro to Augmented Reality
ITD 150: Intro to Augmented RealityITD 150: Intro to Augmented Reality
ITD 150: Intro to Augmented Reality
 
Google Daydream VR
Google Daydream VRGoogle Daydream VR
Google Daydream VR
 

Plus de Adityo Pratomo

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
Developing Serverless Microservice in Rust
Developing Serverless Microservice in RustDeveloping Serverless Microservice in Rust
Developing Serverless Microservice in RustAdityo Pratomo
 
Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignAdityo Pratomo
 
Prototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural InputPrototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural InputAdityo Pratomo
 
Coding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyCoding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyAdityo Pratomo
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceAdityo Pratomo
 
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo
 

Plus de Adityo Pratomo (11)

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
Designing with Code
Designing with CodeDesigning with Code
Designing with Code
 
Developing Serverless Microservice in Rust
Developing Serverless Microservice in RustDeveloping Serverless Microservice in Rust
Developing Serverless Microservice in Rust
 
Let The Machine Helps
Let The Machine HelpsLet The Machine Helps
Let The Machine Helps
 
Introducing Rust
Introducing RustIntroducing Rust
Introducing Rust
 
Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game Design
 
Prototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural InputPrototyping GNOME UI for Gestural Input
Prototyping GNOME UI for Gestural Input
 
Coding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyCoding as Intersection of Art and Technology
Coding as Intersection of Art and Technology
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User Interface
 
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDF
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding Assignment
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Developing VR in Unity

  • 1. DEVELOPING VR IN UNITY ADITYO PRATOMO - LABTEK INDIE
  • 2. DEVELOPING VR IN UNITY ABOUT ME ▸ Chief Technology Officer at Labtek Indie ▸ Chief Academic Officer at Froyo Framework ▸ Certified Unity Developer #20167UCD724 ▸ Loves to tinker with tech
  • 3. DEVELOPING VR IN UNITY VR IN LABTEK INDIE It’s Strange (2015) Oculus Rift & Leap Motion, developed in Unity https://irunsiregar.itch.io/its-strange https://www.youtube.com/watch?v=oTii7SSfyLM
  • 4. DEVELOPING VR IN UNITY VR IN LABTEK INDIE Combat League (2016) Oculus Rift, developed in Unreal Engine https://www.youtube.com/watch?v=1sHrSOe8JM8
  • 5. DEVELOPING VR IN UNITY VR IN LABTEK INDIE 99 Names (2015) Web VR, developed in JS with ThreeJS 99names.adityo.net
  • 6. DEVELOPING VR IN UNITY VR IN LABTEK INDIE Mixed Reality Experiment Google Cardboard devloped in Unity with Vuforia SDK http://www.adityo.net/?p=1146
  • 7. DEVELOPING VR IN UNITY WHAT I’LL TALK ▸ VR Tech Overview ▸ Desktop VR vs Mobile VR ▸ VR in Unity ▸ Interaction in VR ▸ Towards Better VR Experience ▸ Future Prediction
  • 8. NOW IS THE TIME TO START MAKING SOMETHING IN VR, EVEN IF YOU DON'T PLAN ON LAUNCHING IT. IT IS A REALLY GOOD IDEA TO START EXPERIMENTING AND SEE WHAT YOU CAN LEARN. EVEN IF YOU'RE NOT GOING TO LAUNCH SOMETHING, IT IS GOOD TO HAVE EXPERIENCE IN VIRTUAL REALITY SO THAT IF IT MAKES SENSE FOR YOU TO GET INTO IT, YOU'RE ABLE TO Palmer Luckey (Co-founder of Oculus) DEVELOPING VR IN UNITY
  • 9. DEVELOPING VR IN UNITY VR TECH OVERVIEW ▸ VR is a tech that creates new perception of reality in the mind of its users ▸ Achieved through the use of HMD (Head Mounted Display) that tricks its user into thinking he/she is in a different place ▸ Closely related to AR, but not similar nor has hierarchical relation
  • 10. DEVELOPING VR IN UNITY VR TECH OVERVIEW
  • 11. DEVELOPING VR IN UNITY VR TECH OVERVIEW 1. Lens ‣ Emulating depth via focal point adjustment 2. Display ‣ Stereo rendering ‣ FOV emulates real life view 3. Tracking Technology ‣ Tracking head movement ‣ Uses gyro and accelerometer in smartphone 4. 3D Audio ‣ Immersive 3D audio
  • 12. DEVELOPING VR IN UNITY CURRENT VR PLATFORMS PC ANDROID CONSOLE OCULUS RIFT HTC VIVE GOOGLE VR (CARDBOARD & DAYDREAM) SAMSUNG GEAR VR PS VR OSVR
  • 13. DEVELOPING VR IN UNITY DESKTOP VR VS MOBILE VR: FROM THE TECH SIDE ▸ Desktop VR requires more horse power, but has potential for many kind of interaction and contents ▸ Mobile VR experience is hampered by the device’s spec ▸ Desktop VR can do positional tracking ▸ Mobile VR can only do head positional tracking ▸ Batteries vs Cable ▸ Both do VR content rendering in roughly the same way
  • 14. DEVELOPING VR IN UNITY DESKTOP VR VS MOBILE VR: FROM THE BUSINESS SIDE ▸ Mobile VR has lower entry barrier, mid-high end Android phone is sufficient ▸ Desktop VR requires high end gaming rig ▸ Mobile VR has way larger potential market than Desktop ▸ Desktop VR will interests hardcore gamer ▸ Mobile VR will interests budget-oriented gadget enthusiasts
  • 15. DEVELOPING VR IN UNITY DESKTOP VR VS MOBILE VR ▸ Mobile VR will help promoting VR to the masses ▸ Desktop VR will help pushing the boundaries, tech wise ▸ Both is ready for mass development, NOW!
  • 16. DEVELOPING VR IN UNITY WHY DEVELOP VR NOW? ▸ Relatively new tech ▸ Still no best practice sets in stone ▸ Experiments are highly appreciated ▸ Big or small developers, everybody are still finding its feet ▸ YOU can make the difference
  • 17. DEVELOPING VR IN UNITY VR IN UNITY PC OCULUS RIFT HTC VIVE OSVR OCULUS RIFT DK2 / CV1 WIN 7+ UNITY 5.X
  • 18. DEVELOPING VR IN UNITY VR IN UNITY PC OCULUS RIFT HTC VIVE OSVR HTC VIVE WIN 7+ UNITY 5.X
  • 19. DEVELOPING VR IN UNITY VR IN UNITY PC OCULUS RIFT HTC VIVE OSVR OSVR HMD WIN 7+ UNITY 5.X
  • 20. DEVELOPING VR IN UNITY VR IN UNITY ANDROID GOOGLE VR (CARDBOARD & DAYDREAM) SAMSUNG GEAR VR ANDROID VR HMD ANDROID 5.1 + UNITY 5.X GOOGLE CARDBOARD SDK NEXUS 6 (DAYDREAM)
  • 21. DEVELOPING VR IN UNITY VR IN UNITY ANDROID GOOGLE VR (CARDBOARD & DAYDREAM) SAMSUNG GEAR VR ANDROID VR HMD ANDROID 5.1 + UNITY 5.X VUFORIA SDK
  • 22. DEVELOPING VR IN UNITY VR IN UNITY ANDROID GOOGLE VR (CARDBOARD & DAYDREAM) SAMSUNG GEAR VR ANDROID 5.1 + UNITY 5.X SAMSUNG GALAXY S7 SAMSUNG GEAR VR
  • 23. DEVELOPING VR IN UNITY VR IN UNITY: GENERAL ARCHITECTURE ▸ Default camera is replaced by vendor-specific VR camera (usually comes as prefab) ▸ VR Camera will render the game scene to be VR-ready ▸ Other game objects are used as usual GAME SCENE VR CAMERA OTHER GAME OBJECTS
  • 24. DEVELOPING VR IN UNITY VR IN UNITY: TIPS FOR THE FIRST TIMER ▸ Most of the time, you’ll wrestle with setting up specific environment ▸ Oculus: Get the latest SDK and fulfil the requirements, use Rift DK2 at least, don’t use laptop ▸ Android: setup Android SDK properly, Google and Vuforia SDKs are generally easy to set up
  • 25. DEVELOPING VR IN UNITY VR IN UNITY ▸ After replacing the Main Camera object with the vendor- specific, AR Camera prefab, you’re done. ▸ EASY! ▸ Demo…
  • 26. WHAT ELSE TO DO? if getting VR to up and run is easy, then
  • 28. DEVELOPING VR IN UNITY INTERACTION IN VR ▸ With headset strapped on, it’s hard to look around ▸ Mouse + keyboard, won’t be the best way to interact
  • 29. DEVELOPING VR IN UNITY INTERACTION IN VR LOOK AROUND GAMEPAD INTERACTION GAZE INTERACTION NATURAL INTERACTION (AVAILABLE NOW) OCULUS TOUCH VIVE CONTROLLER GOOGLE DAYDREAM LEAP MOTION EXPERIMENTAL INTERACTION (DIY) VOICE CONTROLLER CUSTOM ELECTRONIC (ARDUINO / RPI / ETC) ? easy to develop, minimal interaction harder to develop, rich interaction
  • 30. DEVELOPING VR IN UNITY INTERACTION IN VR: LOOK AROUND ▸ The most basic thing you can do inside VR ▸ Replacing traditional FPS camera, controlled by mouse, with your head ▸ Results in a natural, immersive experience ▸ Used in many VR videos ▸ Minimum interaction, but can still produces excellent experience
  • 31. DEVELOPING VR IN UNITY 360 PHOTOS / VIDEOS IN UNITY ▸ Generally speaking, here are the steps: ▸ Obtain 360 photo/video ▸ Make a skybox using sphere/cube ▸ Use the photo/video as the texture for the skybox
  • 32. DEVELOPING VR IN UNITY 360 PHOTOS / VIDEOS IN UNITY
  • 33. DEVELOPING VR IN UNITY 360 PHOTOS / VIDEOS IN UNITY ▸ Plugin: ▸ Easy Movie Texture (https://www.assetstore.unity3d.com/en/#!/ content/10032) ▸ Discussions: ▸ http://bernieroehl.com/360stereoinunity/ ▸ http://forum.unity3d.com/threads/projecting-a-360-degree-vr- video-on-a-sphere.376522/ ▸ http://talesfromtherift.com/use-a-360-degree-panorama-as-a- skybox/
  • 34. DEVELOPING VR IN UNITY GAZE INTERACTION ▸ Using eye as an input ▸ Activating an object by looking at it for a certain period ▸ (Optional) use Gaze Reticle to help user find it’s view’s crosshair
  • 35. DEVELOPING VR IN UNITY GAZE INTERACTION
  • 36. DEVELOPING VR IN UNITY GAZE INTERACTION ▸ Google Cardboard SDK: ▸ Use GvrGaze script ▸ Drag the script from Assets/GoogleVR/Scripts/UI/ GvrGaze onto to the camera ▸ Implement IGvrGazePointer and IGvrGazeResponder to the interactive object ▸ Vuforia SDK uses Google’s Gaze
  • 37. DEVELOPING VR IN UNITY NATURAL INTERACTION WITH LEAP MOTION ▸ Leap Motion offers the ability to track hand gestures ▸ It can be sticked in front of Oculus/Vive to enable user to see his/her hands ▸ Thus, enables a natural interaction using hands, while inside VR
  • 38. DEVELOPING VR IN UNITY NATURAL INTERACTION WITH LEAP MOTION
  • 39. DEVELOPING VR WITH UNITY NATURAL INTERACTION WITH LEAP MOTION ▸ Download and Import the Leap Motion Core Assets Unity Package ▸ Use the LeapOVRPlayerController Prefab from the Leap Motion + OVR directory as the main VR Camera ▸ The hand will be added to the screen and acts as a 3D objects, just like the others (with colliders too!)
  • 40. DEVELOPING VR IN UNITY EXPERIMENTAL INTERACTION: VOICE CONTROL ▸ Use voice to give input to the VR world ▸ Closely tied to the deployment platform ▸ iOS, Android, Windows, Mac, has its own voice recognition system ▸ Unity 5.4 can natively do voice recognition in Windows (https://developer.microsoft.com/en-us/windows/ holographic/voice_input_in_unity)
  • 41. DEVELOPING VR IN UNITY EXPERIMENTAL INTERACTION: VOICE CONTROL ▸ Unity-only solution: ▸ Ispikit: https://github.com/ispikit/ispikit-unity ▸ Word Detection: https://www.assetstore.unity3d.com/en/#!/ content/4518 ▸ Unity + other: ▸ Read Serial in Unity ▸ Do voice recognition in other using Python/NodeJS/etc and send serial from there
  • 42. DEVELOPING VR IN UNITY EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC ▸ If you have something different, why not make it yourself ▸ Use Arduino / Raspberry Pi / etc. to read from certain sensor and send its data to Unity ▸ Vital to create haptic feedback and experimenting with different kinds of interaction ▸ Make one of a kind immersive experience
  • 43. DEVELOPING VR IN UNITY EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC
  • 44. DEVELOPING VR IN UNITY EXPERIMENTAL INTERACTION: CUSTOM ELECTRONIC ▸ Use Unity to receive Serial data ▸ Android & Microcontroller Bluetooth: https:// www.assetstore.unity3d.com/en/#!/content/16467 ▸ SimpleSerialPort: https://www.assetstore.unity3d.com/en/#!/ content/53594 ▸ Attach sensors to Arduino/Raspberry Pi/other ▸ Send data via Serial/Bluetooth ▸ Watch out for latency!
  • 45. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Simulation sickness is VR’s biggest enemy ▸ Cause: brain is tricked to feel movement, while static ▸ When that trick is broken, nausea attacks, users opt out from the experience (and probably won’t come back)
  • 46. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Technical causes: ▸ Latency (maximum should be 20ms) ▸ Many research has gone into how to solve this issue ▸ Many solutions, but none has quite hits the mark
  • 47. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Hardware design solution: ▸ More comfortable lens ▸ More comfortable HMD when strapped on
  • 48. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Content design: ▸ Adding nose and feet ▸ Shows a fixed reference point in a frame
  • 49. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Game design - movement: ▸ In-game movement have more latency potential than standing still ▸ objects are continuously and dynamically rendered in real- time ▸ more processing power ▸ To move around, use teleport ▸ Teleport can be done with gaze interaction, no controller is required
  • 50. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS Keep Talking and Nobody Explodes www.keeptalkinggame.com
  • 51. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Game design - movement: ▸ To move around: ▸ use teleport ▸ use pre-determined route ▸ Teleport can be done with gaze interaction, no controller is required ▸ Pre-determined route will ease us in optimizing assets ▸ Don’t add unnecessary vertical movement
  • 52. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS Teleport: https://developer.oculus.com/blog/introducing-the- oculus-sample-framework-for-unity-5/ INMIND VR: https://developer.oculus.com/blog/introducing-the- oculus-sample-framework-for-unity-5/
  • 53. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Game design - camera view: ▸ It’s natural to have first person view, but it’s easier to result in simulation sickness ▸ To reduce that, use third person view, it will still have good experience
  • 54. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS Chronos: www.chronosvr.com Colosse: colossevr.tumblr.com
  • 55. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Tech tips: ▸ Use low poly objects, with high-res textures to compensate ▸ Toon-shading is okay, photorealistic can probably causes latency
  • 56. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS Job Simulator: www.jobsimulatorgame.com Land’s End: www.landsendgame.com
  • 57. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS ▸ Tech tips: ▸ Use as many static object as possible (uses least RAM) ▸ Use LOD, culling and batching to prevent rendering too many object at the same time ▸ Use as many baked lighting as possible ▸ https://unity3d.com/learn/tutorials/topics/virtual-reality/ optimisation-vr-unity
  • 58. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE: REMOVING SIMULATION SICKNESS
  • 59. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE ▸ Experience design: ▸ Design experience from the ground up, don’t just adapt already available 3D game to VR ▸ VR is now best experienced in short but meaningful time (5-20 minutes) ▸ Design focal point, because the user can look into any direction
  • 60. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE ▸ UI design: ▸ Make sure the user can see the UI at any time ▸ Go for “no-UI” style, embed the required information in the objects, just like in normal life ▸ Enable the player to look around, even when in pause mode
  • 61. DEVELOPING VR IN UNITY TOWARDS BETTER VR EXPERIENCE
  • 62. DEVELOPING VR IN UNITY FUTURE PREDICTION ▸ Lower cost of desktop VR ▸ WebVR ▸ VR beyond entertainment
  • 63. AT THE SAME TIME, I'D SAY DEVELOPERS SHOULD BE REALISTIC. DON'T BELIEVE THE MOST OPTIMISTIC THINGS THE ANALYSTS SAY. ESPECIALLY WHEN THOSE ANALYSTS DON'T ACTUALLY KNOW ANYTHING ABOUT VR. IT'S GOING TO TAKE TIME FOR VIRTUAL REALITY TO BECOME TRULY MASS MARKET AND SUCCESSFUL, SO PEOPLE SHOULD SCALE THEIR EFFORTS APPROPRIATELY. Palmer Luckey (Co-founder of Oculus) DEVELOPING VR IN UNITY