34
Dario Laverde Sr Developer Evangelist, HTC Developing for Room Scale VR Using Unity3d http://virtualrealitysummit.com/new- york/2016/

Developing for Room-Scale VR Using Unity3d

Embed Size (px)

Citation preview

Page 1: 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/

Page 2: Developing for Room-Scale VR Using Unity3d

If you haven’t experienced Room ScalE…

Page 3: Developing for Room-Scale VR Using Unity3d

GETTING STARTED tutorial

Page 4: Developing for Room-Scale VR Using Unity3d

Best Practices (so far)

Page 5: Developing for Room-Scale VR Using Unity3d

Room-Scale VR • dramatically adds to immersivenes• along with submillimeter tracking provides

presence

• Presence vs Immersiveness

Why Room Scale?

Page 6: Developing for Room-Scale VR Using Unity3d

The psychological state of “being there”

Presence

Page 7: Developing for Room-Scale VR Using Unity3d

Valve’s Lighthouse System• 2 base stations• An infrared blast followed by laser sweeps

How the Vive works

Page 8: Developing for Room-Scale VR Using Unity3d

How the Lighthouse works

https://www.youtube.com/watch?v=oqPaaMR4kY4

Page 9: Developing for Room-Scale VR Using Unity3d

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)

Page 10: Developing for Room-Scale VR Using Unity3d

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…

Page 11: Developing for Room-Scale VR Using Unity3d

GETTING STARTED with Unity3d tutorial

Page 12: Developing for Room-Scale VR Using Unity3d

Search for the SteamVR plugin

For Unity3d – just search on the assets store!Note: develop on Win/Mac/Linux, runs only on Windows

Page 13: Developing for Room-Scale VR Using Unity3d

Step 1: drag n drop the Camera Rig prefab

Page 14: Developing for Room-Scale VR Using Unity3d

avoid “Tracked Devices” as found in example scene:

Page 15: Developing for Room-Scale VR Using Unity3d

Step 2: disable existing camera object

Page 16: Developing for Room-Scale VR Using Unity3d

and Step 3. Run…. assuming you have a kit and the Steam client installed to run SteamVR’s VRCompositor*

* provides chaperone

Page 17: Developing for Room-Scale VR Using Unity3d

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

Page 18: Developing for Room-Scale VR Using Unity3d

Customizing Controllers in Unity

Page 19: Developing for Room-Scale VR Using Unity3d

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

Page 20: Developing for Room-Scale VR Using Unity3d

Customizing Controllers in Unity

Page 21: Developing for Room-Scale VR Using Unity3d

Customizing Controllers in Unity

Disable default rendering

Page 22: Developing for Room-Scale VR Using Unity3d

Customizing Controllers in Unity

Using SteamVR’s model requires 180 degree rotation

Page 23: Developing for Room-Scale VR Using Unity3d

Customizing Controllers in Unitycustomize color

Page 24: Developing for Room-Scale VR Using Unity3d

Developing without a Vive KIT in Unityallowing offline (and Unity3d on a Mac) development requires this tmp change in SteamVR_ControllerManager.cs

Page 25: Developing for Room-Scale VR Using Unity3d

steps for porting existing appsAs indicated in the steamvr docs (guide):

Page 26: Developing for Room-Scale VR Using Unity3d

steps for porting existing apps

Page 27: Developing for Room-Scale VR Using Unity3d

Best Practices (so far)

Page 28: Developing for Room-Scale VR Using Unity3d

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

Page 29: Developing for Room-Scale VR Using Unity3d

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…

Page 31: Developing for Room-Scale VR Using Unity3d

more example scenesHidden under “extras”

Page 32: Developing for Room-Scale VR Using Unity3d

more example scenesHidden sample scenes currently include: TestThrow TextIK (inverse kinematics)

Page 33: Developing for Room-Scale VR Using Unity3d

Room Scale demo : AltSpaceVR

Page 34: Developing for Room-Scale VR Using Unity3d

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