Unity を使用した Oculus Go のアプリ開発環境を整える

Oculs Go は Android が搭載されたスタンドアロンで動作する VR デバイスです。

www.oculus.com

VR 開発があまり得意でない mac でも比較的簡単にアプリ開発を行うことができるので、これから VR アプリの開発を始めたいという開発者にもおすすめです。

Oculus Go のアプリ開発に関する情報は公式サイトの Oculus Developer Center にまとまっていますが、記述が複数ページに分散しており環境構築までの手順が把握しづらいように思います。

この記事では Unity を使用して Oculus Go のアプリを開発する環境を整える手順を説明します。

Oculus Go デバイスをセットアップする 1

Oculsu Go を開発に使用するためには、iPhone の Oculus アプリから開発者モードを有効にする必要があります。

初期状態では Oculus アプリに開発者モードは表示されていません。 Oclusu ダッシュボードから団体を登録することで開発者モードを有効にするためのメニューが表示されます。

団体を作成する

Oculsu アカウントにログインした状態で以下のページにアクセスします。

https://dashboard.oculus.com/organization/create

団体名を入力して送信すると団体が作成されます。

デベロッパーモードを有効にする

団体を作成した後に以下の手順でデベロッパーモードを有効にします。

  1. iPhone の Oclus アプリを開く
  2. 設定アイコンをタップして、設定画面を表示する
  3. 開発に使用する Oculus Go をタップする
  4. その他の設定をタップする
  5. 開発者モードを ON にする

これで Oculsu Go に対して開発中のアプリをインストールし、実行することができるようになりました。

Android 開発環境を整える 2

Oculus Go には Android が搭載されているため、アプリを開発するには Android の開発環境を整える必要があります。 Android Studio をインストールすれば Android 開発に必要なものが全てインストールされます。

Android Studio のインストール

Android Studio を以下の URL から取得してインストールします。

https://developer.android.com/studio/index.html

追加パッケージとツールのインストール

Android Studio のインストールが完了したら、以下の手順で追加のパッケージとツールをインストールします。

Android SDK 5.0

  1. 起動画面の右下にある Configure を選択し、表示されたリストから SDK Manager を選択します f:id:watanabetoshinori:20180619005847p:plain f:id:watanabetoshinori:20180619005909p:plain
  2. Android SDK のリストから Android 5.0 (Lollipop) にチェックをつけます f:id:watanabetoshinori:20180619005758p:plain
  3. Apply を選択します。
  4. ダウンロードが開始されるので、完了したら Finish を押します。

LLDB と NDK

  1. SDK Tools タプを選択します。
  2. ツールのリストから LLDBNDK にチェックをつけます f:id:watanabetoshinori:20180619005926p:plain
  3. Apply を選択します。
  4. ダウンロードが開始されるので、完了したら Finish を押します。

Android SDK Build-Tools

  1. SDK Tools タブの右下にある Show Package Details をチェックします。
  2. Android SDK Build-Tools のリストから 26.0.2 をチェックします。 f:id:watanabetoshinori:20180619010021p:plain
  3. Apply を選択します。

Unity をインストールする

Unity

公式サイトから Unity を取得してインストールします。

https://unity3d.com/jp

「Unityを入手」をタップした後に、ライセンスを選択して規約に同意するとインストーラーをダウンロードできます。

Unity をインストールする際にコンポーネントを選択する画面が表示されるので Android Build Support にチェックをつけます。

f:id:watanabetoshinori:20180619014307p:plain

JDK

アプリのビルドを行う際に必要になるので、Oracle のサイトから JDK をダウンロードしてインストールします。

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Unity プロジェクトのカスタマイズ 3

Unity で新規プロジェクトを作成し、以下の設定を行います。

Platform

  • メニューから File > Build Settings を選択します。
  • Platform は Android を選択し、Texture Compression を ASTC に変更します。 f:id:watanabetoshinori:20180619014324p:plain
  • Switch Platform を選択します。

Player settings

  • メニューから File > Build Settings を選択します。
  • Player Settings を選択します。

Other Settings

  • 以下のように変更します。
    • Package Name: 任意の値
    • Minimum API Level: Android 5.0 Lillipop f:id:watanabetoshinori:20180619014340p:plain

XR Settings

  • 以下のように変更します。
    • Vritual Reality Supported: チェックをつけます
    • + ボタンを選択して、リストから Oculus を選択します f:id:watanabetoshinori:20180619014352p:plain

Quality

  • メニューから Edit > Project Settings > Quality を選択します。
  • 以下のように設定を変更します。
    • Pixel Light Count: 1
    • Soft Particles: チェックを外します f:id:watanabetoshinori:20180619014409p:plain

Build

  • メニューから File > Build & Run を実行します。
  • アプリがインストールされ、実行されます。

ビルド時に以下のようなエラーが表示される場合は、Oculus Go 側でUSBアクセスを許可する必要があります。 Oculsu Go を装着すると USB デバッグの許可を訪ねるダイアログが表示されていますので、OKを押して許可を与えてください。 f:id:watanabetoshinori:20180619094712p:plain

サンプル

Unity Asset Store から Oculus のサンプルを入手することができます。

  1. メニューから Window > Asset Store を選択します。
  2. 検索欄に Oculus Sample Framework と入力します。
  3. Oculus Sample Framework をダウンロードしてプロジェクトにインポートします。 f:id:watanabetoshinori:20180619014838p:plain

インポート完了後、Assets > SampleFramework > SampleScenese に Oculus Go でも動作するサンプルが格納されています。各サンプルを参考にすれば基本的な VR や Oculus コントローラーに対応したアプリをスムーズに開発することができます。

サンプルに含まれている内容は以下に記載されています。

https://developer.oculus.com/documentation/unity/latest/concepts/unity-sample-framework/developer.oculus.com

アプリの削除

Oculus Go にインストールしたアプリを削除するには、mac で以下のコマンドを実行します。

~/Library/Android/sdk/platform-tools/adb uninstall <Package Name>

Package Name には Unity の Player Settings で指定した値を入力します。 Package Name が不明な場合は以下のコマンドで Oculus Go にインストールされているアプリの Package Name をリストできます。

~/Library/Android/sdk/platform-tools/adb shell pm list packages

コマンドを実行すると以下のように表示されます。

package:com.oculus.SampleFramework
package:com.yourcompany.Example
...