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

Samsung Gear VR Demo

The Samsung Gear VR connects with my Samsung Note 5. First thing I’ll put it in network adb mode so I can deploy from Unity to the phone wirelessly with it inside the Gear VR.

I have some devices already connected, so disconnect those and kill any wireless connections.

adb kill-server

Connect the Note 5 from micro-usb to the desktop computer. The device should show in the adb device list.

C:\Users\tgraupmann>adb devices
List of devices attached
0915f9e3930b3504 device

Now put the device in wireless mode.

C:\Users\tgraupmann>adb tcpip 5555
restarting in TCP mode port: 5555

Connect to my phone now that it’s in wireless mode. The IP address can be found under the wireless settings.

C:\Users\tgraupmann>adb connect 192.168.2.241
connected to 192.168.2.241:5555

And now Unity can deploy to the phone wirelessly.

Now create a new Unity project in the release version (5.3.3).

Set the platform to `Android` in build settings.

Set a bundle identifier in the `Android` other settings.

At this point `File->Build and Run` launches and runs on the `Note 5`.

Download [Oculus Utilities for Unity 5 SDK Examples] and unzip to a new folder. (This is the same download that I used for `Oculus Rift DK1`).

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.

Be sure to put the [Oculus Signature File] into `Assets\Plugins\Android\assets`.

Open the sample scene (Assets\Scenes\FirstPerson_Sample.unity) and add it to the build list.

Let the baking process complete before hitting `File->Build and Run`.

GearVRFirstPersonDemo
GearVRFirstPersonDemo

There are white debug line appearing which can be disabled on the `DebugControls` GameObject by disabling the `OVR Debug Graph`.

GearVRFirstPersonDemo2
GearVRFirstPersonDemo2

If your pair a bluetooth controller (like the OUYA Controller), you can move around the scene with the left stick and look horizontally with the right stick.

And then I hooked up some zombies, of course, with [Setup For Fuse CC]. I’m getting some visual artifacting maybe caused by the near/far clip planes. This wasn’t happening with the `Oculus Rift DK1` on the same scene.

GearVRFirstPersonDemo3
GearVRFirstPersonDemo3

It’s not the near/far clip planes on the camera. The artifacts are happening on the terrain and on cubes on the sunny side.

GearVRFirstPersonDemo4
GearVRFirstPersonDemo4

The same issue persists even using the `Mobile/Diffuse` shader.

GearVRFirstPersonDemo5
GearVRFirstPersonDemo5

Logged the issue on the [Unity Forums].

I needed to change the light from a directional light to a baked area light.

GearVRFirstPersonDemo6
GearVRFirstPersonDemo6

Tweaking the Point light to mixed mode reproduces the lighting more closely with the desktop version.

GearVRFirstPersonDemo7
GearVRFirstPersonDemo7

I used Type: Point, Baking: Mixed, Draw Halo: true, and Range: 395.7.

GearVRFirstPersonDemo8
GearVRFirstPersonDemo8

Project Tango

Project Tango has a Unity project for getting started with AI rebuilding your physical environment into meshes as you walk around.
https://developers.google.com/project-tango/apis/unity/unity-getting-started

The Verge reviews Project Tango –
http://www.theverge.com/2015/5/29/8687443/google-io-project-tango-augmented-reality

Purchase a Tango –
https://store.google.com/product/project_tango_tablet_development_kit