Unity+Mirage Solo 開発メモ

最終更新日:2019年04月06日

Unity で Mirage Solo(スタンドアローンDaydream)対応アプリを開発する方法や Tips をまとめています。書きかけです。

更新履歴

(2019年4月6日)「シースルーモードのサンプルをビルドするには」を追加
(2018年5月13日)とりあえずページを作成


UnityでDaydreamアプリを作るには

UnityのDaydream対応について

Unity は標準で Mirage Solo(スタンドアローンDaydream)に対応しています。Unity のバージョンは 2017.4 以降が推奨されています。

見るだけのアプリであればUnity標準機能だけでも十分ですが、加えてDaydream固有の機能を使用する場合には、Google VR SDK for Unityを使用します。

Daydreamアプリをビルドするには

DaydreamヘッドセットはAndroidベースです。Mirage Soloを開発者モードにしてPCに接続し、また、UnityのAndroidビルドができるようにしてください。

Unityでプロジェクトを作成したら、Build SettingsでプラットフォームをAndroidに変更して、Player Settings…のXR Settingsにある「Virtual Reality Supported」をチェックしてオンにしてください。Virtual Reality SDKsに「Daydream」を追加して上の方に持ってきます。また、Minimum API LevelをDaydreamに必要な「Android 7.0 ‘Nougat’ (API level 24)」以上に変更し、Bundle Identifierの「com.Company.ProductName」のCompanyとProductNameを適当な組織名とプロダクト名で書き換えます。

ヘッドセットをUSB接続して、アプリをBuild and Runでビルド・実機に転送します。ヘッドセットを覗き込むとアプリが開始します。

位置トラッキングについて

Virtual Reality SDKs > Daydream > Positional Head Trackingで位置トラッキングを有効・無効にできます。Requiredにすると位置トラッキング対応機種でしか動かなくなります。

なお、デフォルトでは安全対策のため、基準位置から少し移動すると画面が暗くなって元の位置に戻ることを促すメッセージが表示されますが、Daydreamの設定 > すべての設定 > Daydream > VR settings > デベロッパー向けの設定 > Enable safety graphicsをオフにすると、どこまでも歩いていけるようになります(事故等には十分に注意してください)。

公式の解説が下記ページにあります。


開発Tips

描画設定について

フォワードレンダリングにして、Quality SettingsのAnti Aliasingを2xか4x Multi Samplingにするのが基本になりそうです。

Unity 2017.4現在、リニアカラースペースは使用できないようです。

Daydreamのモーションコントローラーを使用するには

公式の解説が下記ページにあります(読まなきゃ)。

ビルドせずにアプリをプレビューするには

Google VR SDKに、UnityのエディタからビルドせずにDaydreamでプレビュー再生できるインスタントプレビューという機能があります(が、手元ではなぜか映像がストリームされない……)。使用するにはGrvInstantPreviewMainをシーンに配置、Wi-Fiでの接続も可能のようです。

シースルーモードのサンプルをビルドするには

Google VR SDK for Unity v1.200.0 以降に入っている HelloMR シーンをビルドします。Android NDK と、Mirage Solo のシステムアップデートが必要です。

アプリをアンインストールするには

ライブラリのメニューでアプリ上でボタンを長押ししてゴミ箱にドロップします。

開発者フォーラムはないの?

Google VR SDK の不具合については、GitHubの gvr-unity-sdk リポジトリの Issues を参照するとよさそうです。


参考リンク

書いた人:こりん(@korinVR
VR開発メモトップ