Unity
VR
MirageSolo

UnityによるMirage Solo開発

最初に

自分は現在ハニカムラボという会社でインターンをしており、そこでMirage Soloによる開発についてまとめたのでこちらにも公開します。
なお、インターン先からの投稿の許可はいただいていますが、後日内容の編集がある可能性があります。ご了承ください。

MacでもWindowsでも構いませんが今回はMacで行いました。
なので若干Windowsとは異なる場合があります。
基本的にはAndroidの開発と共通しているところが多いです。

Mirage Soloとは

6DoF対応のスタンドアロンVRHMD。
OSはGoogleのVR規格であるDaydream2.0。
スタンドアロンで動作するため、PCやスマートフォンが不要でHMDさえあれば気軽にVRを体験できます。
6DoFに対応しているため、頭の「回転」だけでなく「位置」もトラッキング出来ます。これによってVR空間でしゃがんだり、空間内に配置されたものに顔を近づけたりすることができます。(注1)
Mirage Soloとほぼ同時期の発売で同じスタンドアロンHMDであるOculus Goは3DoFで回転しか取れないため、その点ではMirage Soloの方が自由度は高いです。(注2)
また、画質はディスプレイの解像度は5.5インチ2560×1440と、ハイエンドVRには及びませんが、専用設計であるためスマホVRに比べるとはるかに綺麗に感じます。
一方で、Daydreamのアプリが少なかったり標準ブラウザが無かったりと、少し物足りない部分もあるかと思われます。

注1:デフォルトでは約1m×1mのセーフティ範囲が設定されています。開発者モードで解除出来ますがその状態でのアプリの申請は通りません。
注2:Oculus Goは「快適さ」や「安さ」において優れているのでどちらが良いかは人によって異なります。

各種インストール

Unity

今回は2017.4.3f1を採用しています。
Unityの過去のバージョンは下のURLにあります。
https://unity3d.com/jp/get-unity/download/archive?_ga=2.105431431.540089069.1529304098-1012543397.1513824749
IMG_0410.png

Android SDK

まず下のリンクからAndroid Studioのインストーラをダウンロードします。
https://developer.android.com/studio/?hl=ja
あとはインストーラーに従ってインストールを完了します。

ビルドがうまく通らない場合は右下のConfigureからSDK Managerを選択しSDK Managerを起動し、正しいSDKがインストールされているかを確認してください。
IMG_0411.png

それでもエラーが出る場合はAndorid SDK tools r25.2.5を[Mac版はこちら][Windows版はこちら]からダウンロードして、ユーザー/ユーザー名/ライブラリ/Android/sdkの中のtoolsをダウンロードしたものと置きかえる必要があります。

JDK

JDKは現在最新である8の、Java SE Development Kit 8u171を使います。リンクからインストーラーをダウンロードし、あとは指示に従ってインストールを行います。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Google VR SDK

Unity用のGoogle VR SDKである、gvr-unity-sdk v1.130.1を下のURLからダウンロードします。
unitypackage版でいいです。
https://github.com/googlevr/gvr-unity-sdk/releases

サンプル作成

Google VR SDKの追加

まずUnityを起動したら先ほどダウンロードしたgvr-unity-sdk v1.130.1をインポートします。

Android SDK・JDKの設定

Unity>Preferences>External Toolsのうち、Androidから
SDKの欄に、ユーザー/ユーザー名/ライブラリ/Android/sdk
JDKの欄に/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
を入力します。
IMG_0412.png

Windowsの場合は
SDKC:/Users/ユーザー名/AppData/Local/Android/sdk
JDKC:/Program Files/Java/jdk1.8.0_171
がデフォルトになっていると思います。

何かオブジェクトを配置

cameraはデフォルトのもので大丈夫です。
今回はGameObject>3D Object>CubeをPosition(x:0 y:0 z:2) Rotation(x:0 y:45 z:45) Scale(x:0.5 y:0.5 z:0.5)で配置しました。

ビルド&実機に転送

Unity上での Build設定

File>Build Settingsから Android を選択し、Add Open SceneでSceneを追加します。
IMG_0413.png

その後Player SettingsからOther Settings>IdentificationPackage Name好きな名前 に、Minimum API LevelAndroid 7.0 にします。
IMG_0414.png

次に、同じPlayer SettingsからXR Settings>Virtual Reality Supportedにチェックを入れ、SDKの中からDaydreamを選択します。
IMG_0415.png

これでUnityでの設定は完了です。

Mirage Soloを開発者モードにする

ここからはMirage Solo側の設定です。
設定>すべての設定>システム>端末情報ビルド番号を7回押すと開発者モードをONにできます。
開発者モードをONにしたらデバッグからUSBデバッグをONにします。

実機に転送

Mirage Solo本体をPCに繋いで、Build & Runで完了です。
この際に、Mirage Solo側でUSBデバッグの許可を確認される場合があるのでその時はOKを押してください。

実行結果

無事動きました……が!!
現在のところMirage Soloでスクリーンショットを撮って画像をアップするのは少々面倒なため今回は画像は割愛させていただきます。

Mirage Soloでスクリーンショットを撮る方法(おまけ)

設定>デベロッパー向けの設定からEnable VR screen recording via chordsを有効にしてください。すると、ボリュームup+Daydreamボタンで動画、ボリュームdown+Daydreamで静止画を記録できます。動画、静止画は本体ストレージに記録されているため、通知エリアのDaydream screenshotからmicroSDカードにコピーor移動、GoogleフォトへのアップロードをすることでPC等に画像を取り込むことができます。

参考URL