How to use oculus sdk in Unity
Transcript of How to use oculus sdk in Unity
HOW TO INTEGRATEUSE OCULUS SDK IN UNITY
CONTENT SLIDEbull What is Oculus
bull Oculus SDK integration
bull APIs description
bull Oculus Basics
bull Oculus Games
bull QampA
WHAT IS OCULUS
Crescent Bay
Gear VR
CRESCENT BAY
bull 90hz Low Persistence refresh rate
bull 360-degree tracking
bull Integrated audio
GEAR VR
bull 1440p OLED Screen
bull 60hz refresh Rate
bull Working with Samsung
Galaxy Note4 and S6
bull Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
CONTENT SLIDEbull What is Oculus
bull Oculus SDK integration
bull APIs description
bull Oculus Basics
bull Oculus Games
bull QampA
WHAT IS OCULUS
Crescent Bay
Gear VR
CRESCENT BAY
bull 90hz Low Persistence refresh rate
bull 360-degree tracking
bull Integrated audio
GEAR VR
bull 1440p OLED Screen
bull 60hz refresh Rate
bull Working with Samsung
Galaxy Note4 and S6
bull Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
WHAT IS OCULUS
Crescent Bay
Gear VR
CRESCENT BAY
bull 90hz Low Persistence refresh rate
bull 360-degree tracking
bull Integrated audio
GEAR VR
bull 1440p OLED Screen
bull 60hz refresh Rate
bull Working with Samsung
Galaxy Note4 and S6
bull Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
CRESCENT BAY
bull 90hz Low Persistence refresh rate
bull 360-degree tracking
bull Integrated audio
GEAR VR
bull 1440p OLED Screen
bull 60hz refresh Rate
bull Working with Samsung
Galaxy Note4 and S6
bull Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
GEAR VR
bull 1440p OLED Screen
bull 60hz refresh Rate
bull Working with Samsung
Galaxy Note4 and S6
bull Wireless
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS SDK
WHERE OVR SOFTWARE STACK IS HEADING
wrapping layer for library(DLL) rarr
Changed to use DLL from
SDK 05x
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS SDK
BUT NEED ONLY ONE UNITY PACKAGE FOR UNITY
HTTPSDEVELOPEROCULUSCOMDOWNLOADS
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
1Install oculus runtime
2Download unity package including SDK plugin
3Open 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 HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
DOWNLOAD RUNTIME AND UNITY INTEGRATION PACKAGE HTTPSDEVELOPEROCULUSCOMDOWNLOADS
OCULUS SDK INTEGRATION BUILD
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS SDK INTEGRATION BUILD
FIND OCULUS CAMERA PREFAB
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
REPLACE UNITYrsquoS ldquoMAIN CAMERArdquo WITH OCULUS CAMERA PREFAB
OCULUS SDK INTEGRATION BUILD
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
httpsdeveloperoculuscomtoolsosig
Signature File In order to access low-level device functions through APIs provided by our SDK
place the signature file in
ProjectAssetsPluginsAndroidassets
OCULUS SDK INTEGRATION STEP(GEARVR ONLY)
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
PROJECTEXE VS PROJECT_DIRECTTORIFTEXE
OCULUS SDK INTEGRATION BUILD
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OvrCapics
C wrapper for LibOVR and it exposes all device functionality allowing you to query and
set capabilities for tracking rendering and more
OVRManagercs
Simplelegacy support for tracking and HMD status
OVRCameraRigcs
The camera rig and most settings Child OVRCameras do the rendering
OVRDisplaycs
HMD pose and rendering status of the HMD
OVRTrackercs
Infrared tracking camera pose frustum and status
OVRPlayerControllercs
VR-optimized CharacterController
OVRMainMenucs(OVRDebugInfocs)
Debug info heads-up display
Scripts for OVR
OCULUS SDK INTEGRATION
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS SDK INTEGRATION
UnityEngineVR in Beta (from Unity 51) ndash Donrsquot 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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
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 ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
Optimize early and often for Android
Single-pass forward render
Bake ldquolighting reflection shadowsrdquo
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 -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
1 Go to your device Settings -gt Application manager -gt 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 canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS BASICS INPUT OPTIONS
Mouse + keyboard
Limits movement
Player canrsquot see keyboard ndash difficult to use
Gamepads
Allows people to sit further from hard objects
Limited inputs amp axes
Touchpad
Swipe tap gestures
Motion-sensing ldquowandrdquo 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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
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 ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
133 ms
75 FPS
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS BASICS TIMEWARP
Any other way to apply sensor before the end of the frame
TimeWarp ndash Projected rendering - Pioneered by John
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS BASICS TIMEWARP
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS GAMES
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS GAMES
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
OCULUS GAMES
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
HOW TO SUBMIT GAMES TO OCULUS STORE
1 회사이름과함께오큘러스에드랍박스공유폴더신청(submissionsoculuscom)
2 오큘러스에서다음과같은경로의 드랍박스를공유해줌 - (Uploads_[YourCompanyName])
3 해당폴더내에다음과같은정보를담은폴더생성 ndash ApplicationName_SubmissionDate (ex VR_20140704)
4 해당폴더에사이닝된 APK 파일과앱정보파일(양식따로제공) 저장
4 해당폴더내에 Images 폴더생성및필요이미지저장( 각각의이미지는 2560 X 1440 PNG 파일이어야하고아래와같은용도로총 6장의이미지파일이필요 )
- Main Image (x1) 메인이미지로사용할사진- Gallery Images (x5) 피처드나 2D 스토어모드에서사용될이미지
5 submissionsoculuscom에자료업로드완료통보
6 심의
httpstaticoculuscomsubmissionsTemplateDocumentszip
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs
Q amp A
hominleeoculuscom
httpswwwfacebookcomgroupsoculus4devs