Developing for Room-Scale VR Using Unity3d
-
Upload
rising-media-inc -
Category
Software
-
view
1.286 -
download
0
Transcript of Developing for Room-Scale VR Using Unity3d
Dario LaverdeSr Developer Evangelist, HTC
Developing for Room Scale VR
Using Unity3d
http://virtualrealitysummit.com/new-york/2016/
If you haven’t experienced Room ScalE…
GETTING STARTED tutorial
Best Practices (so far)
Room-Scale VR • dramatically adds to immersivenes• along with submillimeter tracking provides
presence
• Presence vs Immersiveness
Why Room Scale?
The psychological state of “being there”
Presence
Valve’s Lighthouse System• 2 base stations• An infrared blast followed by laser sweeps
How the Vive works
How the Lighthouse works
https://www.youtube.com/watch?v=oqPaaMR4kY4
What room Scale MEANs or DOESN’T mean• It doesn’t mean that you need absolutely need a dedicated
room for VR
• Developers should consider as small as 2m x 1.5m
• Standing and seated options are available
• >16 ft technically between base stations feasible with additional base stations (not supported yet)
OpenVRValve’s OpenVR SDK is the basis of the available support in various engines:
https://github.com/ValveSoftware/openvr
Unity3d, Unreal, Cryengine, StingRay, jMonkeyVR and more…
GETTING STARTED with Unity3d tutorial
Search for the SteamVR plugin
For Unity3d – just search on the assets store!Note: develop on Win/Mac/Linux, runs only on Windows
Step 1: drag n drop the Camera Rig prefab
avoid “Tracked Devices” as found in example scene:
Step 2: disable existing camera object
and Step 3. Run…. assuming you have a kit and the Steam client installed to run SteamVR’s VRCompositor*
* provides chaperone
some out of the box gotchasmodels provided under the steamvr application folder under …. /SteamVR/resources/rendermodels
If you copy it to your assets folder, you can provide offline access to controller objects with models
current controller model:vr_controller_vive_1_5
runtime check for Vive disables controllers
Customizing Controllers in Unity
Customizing Controllers in UnitySteamVR scripts automatically set up the default models for tracked items (this includes the base stations)So you can add to the model or replace the model (at least change the color)In some cases it may make sense to keep the default models for the controllers
Customizing Controllers in Unity
Customizing Controllers in Unity
Disable default rendering
Customizing Controllers in Unity
Using SteamVR’s model requires 180 degree rotation
Customizing Controllers in Unitycustomize color
Developing without a Vive KIT in Unityallowing offline (and Unity3d on a Mac) development requires this tmp change in SteamVR_ControllerManager.cs
steps for porting existing appsAs indicated in the steamvr docs (guide):
steps for porting existing apps
Best Practices (so far)
some best practices for Room-ScaleFPS (First Person Shooter) does not port to room-scale out of the box – requires rethinking game design!
Do not move the player (head bob, stafing, jumping, foot steps, collisions… etc.)
Allow exploring beyond scene borders
Transition with complete fades
Be innovative with teleporting
Test, test, testespecially teleporting!
If you don’t have a lighthouse tracking system try other positional tracking alternatives – e.g. Project Tango Tablet
Borrow a HTC Vive…
examples of:
https://www.youtube.com/watch?v=bM47bOeHSL4https://www.youtube.com/watch?v=FhSsdsu4yIkhttps://www.youtube.com/watch?v=qYfNzhLXYGc
how to:http://steamcommunity.com/app/358720/discussions/0/405694031549662100/http://www.kertgartner.com/making-mixed-reality-vr-trailers-and-videos/
Use Mixed Media to promote Room Scale VR
more example scenesHidden under “extras”
more example scenesHidden sample scenes currently include: TestThrow TextIK (inverse kinematics)
Room Scale demo : AltSpaceVR
Thank you! And Q&A and Resources
Room Scale VR with Unity3d (blog entry)http://medium.com/@dariony
recommended book:The VR BookHuman-Centered Design for Virtual Reality
author: Jason Jerald, Ph.D.
contact:http://google.com/+DarioLaverde