Week 10: 20 - 27 April [Google Cardboard]
Using Cardboard
I began by incorporating google cardboard into the existing
build.
Google cardboard is an inexpensive way to provide more
immersive mixed reality to event visitors. Limited by the mobile devices placed
within it, the extent of a Cardboard VR experience will be greatly reduced in
comparison to an Oculus rift; a small number of headsets could be used by many
people over the course of the exhibition.
Using the current GVR (google virtual reality) SDK, provides
an emulator prefab within Unity so that the application does not have to be
built to the device for testing purposes. This reduced development time hugely.
My main focus for inclusion of the Cardboard headset is user
experience. With this is mind, when purchasing the headset, I also selected
some inexpensive additional items which will assist with the overall
experience.
- Cushioned pads – to aid with extended sessions, as the Cardboard corners can irritate the nose.
Face pads. |
- Head strap – so users have both hands available to navigate the scene.
Head strap |
- NFC tag – provides functionality for launching a user defined application when phone comes within range of tag, starting the experience seamlessly.
NFC tag |
In addition to this, Cardboard also includes some basic
default functionality. The most relevant of which, is the premade raycast out
from the viewers position, which allows a physical magnet toggle on the headset
to be moved to interact with object in app. From reading, this interaction with
the magnet has a significant effect on the phones compass, which when in
Cardboard mode is registered in the same way as a screen tap.
Camera raycast and headview. |
Early tests using this feature indicate it would be a good
addition to the controller already incorporated – should users find tracking of
the controller too unreliable, given that the magnet toggle will never go
undetected.
Still keen to focus the remaining development time on user
experience, I began researching the potential pitfalls of using the Carboard
and more general VR.
The most common result was disorientation, which research
shows is most prevalent in ‘non-gamers’. As the attendees of the exhibition are
likely to be made up of a wide range of people, who will be wearing the headset
while stationary, as their perspective moves within the app, this is a
significantly probable problem.
The current most effective method of negating the effects of
disorientation work “by providing a clear visual reference that moves with the
point of view of the observer in the scene, gives a better impression of your
motion in the virtual world.” (Wired.com
2015). I included a nose focal point at the low middle camera positions to
achieve this.
Vuforia and Cardboard Compatibility Issues
Cardboard, loading with immediate crash |
While the device performed as expected in the emulator
within Unity, I found this was not the case when built to an android device.
Numerous attempts saw the application load only a black
screen, or crash immediately on loading the split, VR scene.
The Vuforia documentation for integration with Google
Cardboard is outdated as of 2016, though does provide a detailed walkthrough for
their mutual set-up using 2016’s current versions. Following the deprecated
setup advice does not allow for the technologies to be incorporated as many of
the attributes for each element have been overhauled entirely.
Current forum posts and responses from Vuforia’s own
development team, highlight the current incompatibility of the two technologies.
To achieve a functioning build, I began rolling both the GVR
SDK and Vuforia back through previous releases, with the hope of finding a
compatible combination.
I followed the advice described in the documentation for both
Vuforia and Google Cardboard, learning that the minimum API level needed to
continue function is 19, with android 4.4 (KitKat) or newer installed.
Each time, the build was completely functional in the
emulator, but failed on the device. All versions of Vuforia were trialled, back
to June 2016. All versions of GVR were trailed, back to 1.100.0. All versions
of Unity trialled, back to 5.5.6.
I created my own post on the Vuforia developer forums to
request an answer. A Vuforia developer responded, advising that Vuforia have no
goal of currently developing towards compatability with Cardboard, and are
instead looking to implement their own functionality which will use the mobile
device itself to replicate the function of a headset. With this, I abandoned the
inclusion of Google Cardboard.
References
- GitHub. (2018). googlevr/gvr-unity-sdk. [online] Available at: https://github.com/googlevr/gvr-unity-sdk/releases [Accessed 27 Apr. 2018].
- Google Developers. (2018). Google VR SDK for Unity | Google VR | Google Developers. [online] Available at: https://developers.google.com/vr/reference/unity/ [Accessed 27 Apr. 2018].
- Google Developers. (2018). Quickstart for Google VR SDK for Unity with Android | Google VR | Google Developers. [online] Available at: https://developers.google.com/vr/develop/unity/get-started-android [Accessed 27 Apr. 2018].
- · Stinson, E., Stinson, E., Stinson, E., Calore, M., Pardes, A., Stinson, E., Pierce, D. and Stinson, E. (2018). How to Reduce VR Sickness? Just Add a Virtual Nose. [online] WIRED. Available at: https://www.wired.com/2015/04/reduce-vr-sickness-just-add-virtual-nose/ [Accessed 27 Apr. 2018].
Comments
Post a Comment