Unity: SteamVR Center View

The Unity [SteamVR Plugin] has an API to center the VR view. It’s great when VR apps have a key mapped to do this.

using UnityEngine;
using Valve.VR;

public class SteamVRRecenter : MonoBehaviour
{
    // Keep the script around
    private void Start()
    {
        DontDestroyOnLoad(gameObject);
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        if (Input.GetKeyUp(KeyCode.L))
        {
            var system = OpenVR.System;
            if (system != null)
            {
                system.ResetSeatedZeroPose();
            }
        }
    }
}

Steam: SteamVR Plugin for Razer Hydra

[SteamVR Plugin for Razer Hydra]

** Caution: Be sure to close any Game, UE4, Unreal Launcher, SteamVR, and Unity processes that are running before installing.

Source: [steamvr_driver_hydra]

Install "SteamVR" - steam://install/250820

Install "Sixense SDK for the Razer Hydra" - steam://install/42300

Install "SteamVR Driver for Razer Hydra" - steam://install/491380

[issue]

OSVR: Setup SteamVR

SteamVR has support for OSVR. I tested with an OSVR HDK2.

Install SteamVR:

steam://install/250820

I used the OSVR control panel to flash the HDK2 to the [latest firmware] (`hdk2svr-2.00.hex`).

The setup instructions can be found at the [SteamVR-OSVR] project.

[Kevin Godby] is the developer of the SteamVR-OSVR plugin.

[Russell Taylor] is the primary RenderManager developer.

The 7zip archive with the pre-built Windows drivers can be found in the [files] section.

Extract the archive.

Copy the `SteamVR-OSVR\lib\openvr\osvr` folder to `C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers` folder as a subfolder.

Initially, the SteamVR tutorial was up-side down. I found a solution on Reddit. [New SteamVR-OSVR driver available: fixes display orientation]

Close `SteamVR` and `Steam` before editing the `C:\Program Files (x86)\Steam\config\steamvr.vrsettings` file.

{
   "driver_osvr" : {
      "scanoutOrigin" : "lower-right",
      "verbose" : true
   },
   "steamvr" : {
      "mirrorViewGeometry" : "0 0 1080 600"
   }
}

Be sure to relaunch the OSVR server before starting SteamVR.

Relaunch Steam, and the SteamVR tutorial.

Issues:

[Main monitor on different GPU prevents VR applications detecting Vive]

Since I have dual graphics cards, I had to swap graphics cards slots to get SteamVR to recognize the headset in Direct Mode.

There’s a couple important logs for debugging `SteamVR` issues.

* `C:\Program Files (x86)\Steam\logs\vrcompositor.txt`

* `C:\Program Files (x86)\Steam\logs\vrserver.txt`

Razer: OSVR Demo

First, I have my hands on the [OSVR HACKER DEVELOPMENT KIT].

After assembling the hacker kit, the manual says download and run the OSVR Hacker Development Kit software from [osvr.github.io].

OSVR has [chat rooms] to talk with other developers.

There are specific channels for “support” requests – see [support.osvr.com].

Nice that no drivers are required for Windows 10.

I had an old `DK1 model` and the firmware drivers were found in `C:\Program Files\HDK-Runtime\OSVR-CPI\dfu-prog-usb-1.2.2`.

Install [Render Manager].

[Getting Started Guide]

[Building with OSVR]

You may already have the `OSVR-Core` installed which can be found in `C:\Program Files\HDK-Runtime\OSVR-Core\bin`.

Or download and unpack the [Daily OSVR-Core Windows Binary Snapshot].

Start the server, run `OSVR-Core-Snapshot-v.X\bin\osvr_server.exe`.

Download and unpack the [OSVR-Unity Assets Snapshot].

Create a new unity project.

Import the unity package `OSVR-Unity-vX\OSVR-Unity.unitypackage`.

Open the demo scene `Assets\OSVRUnity\Sample\VRFirstPerson.unity`.

Hit `Play`.

[Troubleshooting RenderManager]

[NVIDIA Gameworks VR]

Oculus: DK1 Demo

I hooked up the Oculus DK1 and an XBOX 360 wired controller to do more experiments. I’ll start with the demo. First, I downloaded a couple updates.

1) Oculus_Runtime_for_Windows: [0.8.0.0-beta] (Oculus DK1 appears to need the old 0.8.0.0-beta runtime and sdk)

2) Oculus SDK for Windows: [1.10.1] [0.8.0.0-beta] – Installed on Windows 10

3) Oculus Utilities for Unity 5 SDK Examples: [1.10.0] – Unzipped to a new folder.

Next I created a new empty Unity project, where I’m a version behind the release version. [Unity 5.3.3]. I’ll update to the release version later (currently 5.3.2).

Copy the project settings into the Unity project settings (OculusUtilities_SDKExamples_0_1_3_0_beta\ProjectSettings).

Import the Oculus Unity Package (OculusUtilities_SDKExamples_0_1_3_0_beta\SDKExamples.unityPackage).

Restart Unity and reopen the project.

The Oculus DK1 is plugged in and on. The XBOX 360 controller is plugged in.

Open the sample scene (Assets\Scenes\FirstPerson_Sample.unity). The nice part about this example scene is that it has the head tracking, controller left stick movement, and controller right stick horizontal looking.

Let the baking process complete before hitting `Play`. If baking has not complete, the scene will be black.

If nothing happens, hit `Stop` and then `Play` again.

Some things to note about the project setup.

Custom Layers:
* User Layer 8: Objects
* User Layer 9: LeftEyeOnly
* User Layer 10: RightEyeOnly

When copying project settings, at a minimum, the `ProjectSettings.asset` must be copied to avoid a crash on `Start`.

When copying project settings, the `InputManager.asset` needs to be copied to support using the `XBOX 360 controller` in the example scene.

For capturing video output on the Oculus DK1, the ElGato Game Capture software will not work.

[Open Broadcaster Software] (OBS) has to be setup to mirror a monitor in order to capture the Oculus video.

And rolled the Oculus demo setup into my [Setup For Fuse CC] unity package.

Setup For Fuse CC Oculus Rift DK1
Setup For Fuse CC Oculus Rift DK1