SlideShare a Scribd company logo
1 of 30
HOW TO INTEGRATE/USE
OCULUS SDK IN UNITY
CONTENT SLIDE
• What is Oculus
• Oculus SDK integration
• APIs description
• Oculus Basics
• Oculus Games
• Q&A
WHAT IS OCULUS
Crescent Bay
Gear VR
CRESCENT BAY
• 90hz Low Persistence refresh rate
• 360-degree tracking
• Integrated audio
GEAR VR
• 1440p OLED Screen
• 60hz refresh Rate
• Working with Samsung
Galaxy Note4 and S6
• Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) →
Changed to use DLL from
SDK 0.5.x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPS://DEVELOPER.OCULUS.COM/DOWNLOADS/
1.Install oculus runtime
2.Download unity package including SDK plugin
3.Open project
4. Replace camera object with Oculus camera prefabs
5. Save signature file (Gear VR only)
6. Build and Run!
OCULUS SDK INTEGRATION STEP
DOWNLOAD RUNTIME AND UNITY INTEGRATION
PACKAGE: HTTPS://DEVELOPER.OCULUS.COM/DOWNLOADS/
OCULUS SDK INTEGRATION / BUILD
OCULUS SDK INTEGRATION / BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITY’S “MAIN CAMERA” WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION / BUILD
https://developer.oculus.com/tools/osig/
Signature File ?: In order to access low-level device functions through APIs provided by our SDK.
place the signature file in:
Project/Assets/Plugins/Android/assets/
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECT.EXE VS PROJECT_DIRECTTORIFT.EXE
OCULUS SDK INTEGRATION / BUILD
● OvrCapi.cs
C# wrapper for LibOVR and it exposes all device functionality, allowing you to query and
set capabilities for tracking, rendering and more
● OVRManager.cs
Simple/legacy support for tracking and HMD status
● OVRCameraRig.cs
The camera rig and most settings ○ Child OVRCameras do the rendering
● OVRDisplay.cs
HMD pose and rendering status of the HMD
● OVRTracker.cs
Infrared tracking camera pose, frustum and status
● OVRPlayerController.cs
VR-optimized CharacterController
● OVRMainMenu.cs(OVRDebugInfo.cs)
Debug info, heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngine.VR in Beta (from Unity 5.1)!! – Don’t need to import unity package anymore!
class VRDevice {
string family; // vendor
bool isPresent; // attached and working?
string model; // HMD type
IntPtr GetNativePtr(); // low-level access
}
class HeadTracking {
Vector3f GetEyePosition(int eye);
Quaternion GetEyeRotation(int eye);
}
class VRSettings {
bool enabled; // use VR?
float ipd; // inter-pupillary distance
VRDeviceType loadedDevice; // code path
bool mirrorMode; // preview on desktop?
bool monoscopic; // same in both eyes?
float renderScale; // pixel density
}
OCULUS BASICS: PERFORMANCE
● On CrescentBay, must always hit 90 FPS
● On Gear VR, must always hit 60 FPS
● Frame is the most important for comfortable
● Optimize early and often for Android
○ Single-pass forward render
○ Bake “lighting, reflection, shadows”
○ 50-100k vertices or triangles
○ 50-100 batches
○ 2xMSAA
○ Maximize texture compression, mip mapping, and
cache locality
○ Greedily maximize perf to save power
OCULUS BASIC: OPTIMIZATION ON ANDROID
1. Go to your device Settings -> Application manager -> Gear VR Service
2. Tap on "Manage storage"
3. Tap the "VR Service Version" number six times.
4. Wait for scan process to complete and you should now see the Developer
Mode toggle on this screen.
OCULUS BASIC: RUN WITHOUT GEAR VR
OCULUS BASICS: INPUT OPTIONS
● Mouse + keyboard
○ Limits movement
○ Player can’t see keyboard – difficult to use
● Gamepads
○ Allows people to sit further from hard objects
○ Limited inputs & axes
● Touchpad
○ Swipe, tap gestures
● Motion-sensing “wand” controllers
○ Razer Hydra, WiiMote, PS Move
● Body-motion cameras
○ Leap, Kinect, SoftKinetic
Image sources: Wikipedia, Leap Motion
Input
USB
Game Engine Write Display
Pixel Switching
New Image
OCULUS BASICS: LATENCY
OCULUS BASICS: TIMEWARP
Any other way to apply sensor before the end of the frame?
TimeWarp – Projected rendering - Pioneered by John
13.3 ms
75 FPS
OCULUS BASICS: TIMEWARP
Any other way to apply sensor before the end of the frame?
TimeWarp – Projected rendering - Pioneered by John
OCULUS BASICS: TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1. 회사이름과 함께 오큘러스에 드랍박스 공유 폴더 신청(submissions@oculus.com)
2. 오큘러스에서 다음과 같은 경로의 드랍박스를 공유해줌 - (Uploads_[YourCompanyName])
3. 해당 폴더 내에 다음과 같은 정보를 담은 폴더 생성 – ApplicationName_SubmissionDate (ex. VR_20140704)
4. 해당 폴더에 사이닝 된 APK 파일과 앱정보 파일(양식 따로 제공) 저장
4. 해당 폴더 내에 Images 폴더 생성 및 필요 이미지 저장
( 각각의 이미지는 2560 X 1440 PNG 파일이어야 하고 아래와
같은 용도로 총 6장의 이미지 파일이 필요 )
- Main Image (x1): 메인 이미지로 사용할 사진
- Gallery Images (x5): 피처드나 2D 스토어 모드에서 사용 될 이미지
5. submissions@oculus.com에 자료 업로드 완료 통보
6. 심의
http://static.oculus.com/submissions/TemplateDocuments.zip
Q & A
homin.lee@oculus.com
https://www.facebook.com/groups/oculus4devs/
How to use oculus sdk in Unity

More Related Content

What's hot

Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Unreal Engine
 
Oculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaOculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaMayur Padma
 
Hardware device
Hardware deviceHardware device
Hardware deviceAlextiana
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis CataldiUnreal Engine
 
Intro to VR with Unreal Engine
Intro to VR with Unreal Engine   Intro to VR with Unreal Engine
Intro to VR with Unreal Engine Unreal Engine
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Huey Park
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiLuis Cataldi
 
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 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
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Jared Sheehan
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Sebastien Kuntz
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vrLuis Cataldi
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiWithTheBest
 
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...AMD Developer Central
 
Memory friendly UIScrollView
Memory friendly UIScrollViewMemory friendly UIScrollView
Memory friendly UIScrollViewYuichi Fujiki
 
Kinect for Windows Quickstart Series
Kinect for Windows Quickstart SeriesKinect for Windows Quickstart Series
Kinect for Windows Quickstart SeriesRoberto Reto
 

What's hot (19)

Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4
 
Oculus Rift By Mayur Padma
Oculus Rift By Mayur PadmaOculus Rift By Mayur Padma
Oculus Rift By Mayur Padma
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
Oculus Rift
Oculus RiftOculus Rift
Oculus Rift
 
Alexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal EngineAlexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal Engine
 
Hardware device
Hardware deviceHardware device
Hardware device
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis Cataldi
 
Intro to VR with Unreal Engine
Intro to VR with Unreal Engine   Intro to VR with Unreal Engine
Intro to VR with Unreal Engine
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
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 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...
 
Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017Introduction to DaydreamVR from DevFestDC 2017
Introduction to DaydreamVR from DevFestDC 2017
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vr
 
Eyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir EbrahimiEyes Wide Open - Amir Ebrahimi
Eyes Wide Open - Amir Ebrahimi
 
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
 
Memory friendly UIScrollView
Memory friendly UIScrollViewMemory friendly UIScrollView
Memory friendly UIScrollView
 
Kinect for Windows Quickstart Series
Kinect for Windows Quickstart SeriesKinect for Windows Quickstart Series
Kinect for Windows Quickstart Series
 

Viewers also liked

Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기flashscope
 
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션Seongho Park
 
Rules of Order: Policy-Making as Game Design?
Rules of Order: Policy-Making as Game Design?Rules of Order: Policy-Making as Game Design?
Rules of Order: Policy-Making as Game Design?Sebastian Deterding
 
안드로이드 메테리얼 디자인 transition, cardview 맛보기
안드로이드 메테리얼 디자인 transition, cardview 맛보기안드로이드 메테리얼 디자인 transition, cardview 맛보기
안드로이드 메테리얼 디자인 transition, cardview 맛보기flashscope
 
Narrative Theory
Narrative TheoryNarrative Theory
Narrative Theoryguest9e3b3b
 
The Non-Comedian's Guide to Making Jokes in Presentations
The Non-Comedian's Guide to Making Jokes in PresentationsThe Non-Comedian's Guide to Making Jokes in Presentations
The Non-Comedian's Guide to Making Jokes in PresentationsDuarte, Inc.
 
7 Design Principles in Creating a PPT
7 Design Principles in Creating a PPT7 Design Principles in Creating a PPT
7 Design Principles in Creating a PPT@SAB_LEE
 
10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your PresentationStinson
 

Viewers also liked (9)

Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
Unity + Oculus Rift + LeapMotion 우주 체험 프로젝트 후기
 
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션
[완료기술세미나]기어VR과 립모션을 이용한 트라우마 극복 어플리케이션
 
Rules of Order: Policy-Making as Game Design?
Rules of Order: Policy-Making as Game Design?Rules of Order: Policy-Making as Game Design?
Rules of Order: Policy-Making as Game Design?
 
안드로이드 메테리얼 디자인 transition, cardview 맛보기
안드로이드 메테리얼 디자인 transition, cardview 맛보기안드로이드 메테리얼 디자인 transition, cardview 맛보기
안드로이드 메테리얼 디자인 transition, cardview 맛보기
 
Unity 3d Basics
Unity 3d BasicsUnity 3d Basics
Unity 3d Basics
 
Narrative Theory
Narrative TheoryNarrative Theory
Narrative Theory
 
The Non-Comedian's Guide to Making Jokes in Presentations
The Non-Comedian's Guide to Making Jokes in PresentationsThe Non-Comedian's Guide to Making Jokes in Presentations
The Non-Comedian's Guide to Making Jokes in Presentations
 
7 Design Principles in Creating a PPT
7 Design Principles in Creating a PPT7 Design Principles in Creating a PPT
7 Design Principles in Creating a PPT
 
10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation
 

Similar to How to use oculus sdk in Unity

Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!Davide Zordan
 
Let’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and moreLet’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and moreUnity Technologies
 
Using Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationUsing Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationJoseph Labrecque
 
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
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1Build Your Own VR Display Course - SIGGRAPH 2017: Part 1
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1StanfordComputationalImaging
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialPatrick O'Shaughnessey
 
Virtual Reality in the past and the birth of OculusVR
Virtual Reality in the past and the birth of OculusVRVirtual Reality in the past and the birth of OculusVR
Virtual Reality in the past and the birth of OculusVRLukimator
 
Vr 140713122536-phpapp01
Vr 140713122536-phpapp01Vr 140713122536-phpapp01
Vr 140713122536-phpapp01ucs130618
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Stephan Tanguay
 
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...OpenNebula Project
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju CharmsAltoros
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Codemotion
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new RealityMatteo Valoriani
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10Jiri Danihelka
 

Similar to How to use oculus sdk in Unity (20)

Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!Getting started with Unity and AR/VR for the .NET developer... Reloaded!
Getting started with Unity and AR/VR for the .NET developer... Reloaded!
 
Let’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and moreLet’s get real: An introduction to AR, VR, MR, XR and more
Let’s get real: An introduction to AR, VR, MR, XR and more
 
ssssss
ssssssssssss
ssssss
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
Oculus rift
Oculus riftOculus rift
Oculus rift
 
OCULUSRIFT1
OCULUSRIFT1OCULUSRIFT1
OCULUSRIFT1
 
Using Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationUsing Adobe Gaming Tools for Education
Using Adobe Gaming Tools for Education
 
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
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1Build Your Own VR Display Course - SIGGRAPH 2017: Part 1
Build Your Own VR Display Course - SIGGRAPH 2017: Part 1
 
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and TutorialAugmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
Augmented World Expo 2013 Mobile AR SDK Comparison and Tutorial
 
Virtual Reality in the past and the birth of OculusVR
Virtual Reality in the past and the birth of OculusVRVirtual Reality in the past and the birth of OculusVR
Virtual Reality in the past and the birth of OculusVR
 
Vr 140713122536-phpapp01
Vr 140713122536-phpapp01Vr 140713122536-phpapp01
Vr 140713122536-phpapp01
 
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
Virtual Reality: Learn to Maximize Present and Future Creative Possibilities!
 
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...
OpenNebulaConf 2016 - The Lightweight Approach to Build Cloud CyberSecurity E...
 
Docker 101
Docker 101 Docker 101
Docker 101
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
 
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
Immerge yourself in a new Reality - Alessandro Pozone - Codemotion Rome 2018
 
Immerge yourself in a new Reality
Immerge yourself in a new RealityImmerge yourself in a new Reality
Immerge yourself in a new Reality
 
What is this "docker"
What is this  "docker" What is this  "docker"
What is this "docker"
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
 

Recently uploaded

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

How to use oculus sdk in Unity

  • 1.
  • 3. CONTENT SLIDE • What is Oculus • Oculus SDK integration • APIs description • Oculus Basics • Oculus Games • Q&A
  • 5. CRESCENT BAY • 90hz Low Persistence refresh rate • 360-degree tracking • Integrated audio
  • 6. GEAR VR • 1440p OLED Screen • 60hz refresh Rate • Working with Samsung Galaxy Note4 and S6 • Wireless
  • 7. OCULUS SDK WHERE OVR SOFTWARE STACK IS HEADING wrapping layer for library(DLL) → Changed to use DLL from SDK 0.5.x
  • 8. OCULUS SDK BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY HTTPS://DEVELOPER.OCULUS.COM/DOWNLOADS/
  • 9. 1.Install oculus runtime 2.Download unity package including SDK plugin 3.Open project 4. Replace camera object with Oculus camera prefabs 5. Save signature file (Gear VR only) 6. Build and Run! OCULUS SDK INTEGRATION STEP
  • 10. DOWNLOAD RUNTIME AND UNITY INTEGRATION PACKAGE: HTTPS://DEVELOPER.OCULUS.COM/DOWNLOADS/ OCULUS SDK INTEGRATION / BUILD
  • 11. OCULUS SDK INTEGRATION / BUILD FIND OCULUS CAMERA PREFAB
  • 12. REPLACE UNITY’S “MAIN CAMERA” WITH OCULUS CAMERA PREFAB OCULUS SDK INTEGRATION / BUILD
  • 13. https://developer.oculus.com/tools/osig/ Signature File ?: In order to access low-level device functions through APIs provided by our SDK. place the signature file in: Project/Assets/Plugins/Android/assets/ OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
  • 15. ● OvrCapi.cs C# wrapper for LibOVR and it exposes all device functionality, allowing you to query and set capabilities for tracking, rendering and more ● OVRManager.cs Simple/legacy support for tracking and HMD status ● OVRCameraRig.cs The camera rig and most settings ○ Child OVRCameras do the rendering ● OVRDisplay.cs HMD pose and rendering status of the HMD ● OVRTracker.cs Infrared tracking camera pose, frustum and status ● OVRPlayerController.cs VR-optimized CharacterController ● OVRMainMenu.cs(OVRDebugInfo.cs) Debug info, heads-up display Scripts for OVR OCULUS SDK INTEGRATION
  • 16. OCULUS SDK INTEGRATION UnityEngine.VR in Beta (from Unity 5.1)!! – Don’t need to import unity package anymore! class VRDevice { string family; // vendor bool isPresent; // attached and working? string model; // HMD type IntPtr GetNativePtr(); // low-level access } class HeadTracking { Vector3f GetEyePosition(int eye); Quaternion GetEyeRotation(int eye); } class VRSettings { bool enabled; // use VR? float ipd; // inter-pupillary distance VRDeviceType loadedDevice; // code path bool mirrorMode; // preview on desktop? bool monoscopic; // same in both eyes? float renderScale; // pixel density }
  • 17. OCULUS BASICS: PERFORMANCE ● On CrescentBay, must always hit 90 FPS ● On Gear VR, must always hit 60 FPS ● Frame is the most important for comfortable
  • 18. ● Optimize early and often for Android ○ Single-pass forward render ○ Bake “lighting, reflection, shadows” ○ 50-100k vertices or triangles ○ 50-100 batches ○ 2xMSAA ○ Maximize texture compression, mip mapping, and cache locality ○ Greedily maximize perf to save power OCULUS BASIC: OPTIMIZATION ON ANDROID
  • 19. 1. Go to your device Settings -> Application manager -> Gear VR Service 2. Tap on "Manage storage" 3. Tap the "VR Service Version" number six times. 4. Wait for scan process to complete and you should now see the Developer Mode toggle on this screen. OCULUS BASIC: RUN WITHOUT GEAR VR
  • 20. OCULUS BASICS: INPUT OPTIONS ● Mouse + keyboard ○ Limits movement ○ Player can’t see keyboard – difficult to use ● Gamepads ○ Allows people to sit further from hard objects ○ Limited inputs & axes ● Touchpad ○ Swipe, tap gestures ● Motion-sensing “wand” controllers ○ Razer Hydra, WiiMote, PS Move ● Body-motion cameras ○ Leap, Kinect, SoftKinetic Image sources: Wikipedia, Leap Motion
  • 21. Input USB Game Engine Write Display Pixel Switching New Image OCULUS BASICS: LATENCY
  • 22. OCULUS BASICS: TIMEWARP Any other way to apply sensor before the end of the frame? TimeWarp – Projected rendering - Pioneered by John 13.3 ms 75 FPS
  • 23. OCULUS BASICS: TIMEWARP Any other way to apply sensor before the end of the frame? TimeWarp – Projected rendering - Pioneered by John
  • 28. HOW TO SUBMIT GAMES TO OCULUS STORE 1. 회사이름과 함께 오큘러스에 드랍박스 공유 폴더 신청(submissions@oculus.com) 2. 오큘러스에서 다음과 같은 경로의 드랍박스를 공유해줌 - (Uploads_[YourCompanyName]) 3. 해당 폴더 내에 다음과 같은 정보를 담은 폴더 생성 – ApplicationName_SubmissionDate (ex. VR_20140704) 4. 해당 폴더에 사이닝 된 APK 파일과 앱정보 파일(양식 따로 제공) 저장 4. 해당 폴더 내에 Images 폴더 생성 및 필요 이미지 저장 ( 각각의 이미지는 2560 X 1440 PNG 파일이어야 하고 아래와 같은 용도로 총 6장의 이미지 파일이 필요 ) - Main Image (x1): 메인 이미지로 사용할 사진 - Gallery Images (x5): 피처드나 2D 스토어 모드에서 사용 될 이미지 5. submissions@oculus.com에 자료 업로드 완료 통보 6. 심의 http://static.oculus.com/submissions/TemplateDocuments.zip

Editor's Notes

  1. Backward compatible with legacy Oculus script API. Minor work to upgrade - above API has moved inside of Unity. Plain C# Rift wrapper OvrCapi.cs to be a separate download; not supported on Gear VR. “Moonlight” Oculus utility scripts for Gear VR only.
  2. Higher performance on PC: ~1M verts/tris, 1k draw calls, 4xMSAA, more perf to spare.