Dazzle VR Tech blog

ダズルのVR開発者による開発TIPS


Mac上にGear VR向けアプリの開発環境を整える

前回はViveトラッカーについて触れさせていただきましたが、今回はもう少し身近なGear VRにおいて自作コンテンツが実機で動作確認するまでについて記述したいと思います。
ちなみに以下が2017/2月時点での出荷台数です。

端末 出荷台数
Gear VR 450 万台
PlayStation VR 75 万台
HTC Vive 42 万台

出典 SuperData Research (pdf)

圧倒的ですね!
対応するスマートフォンを持っていればGear VR自体は実売1万円前後で入手可能であるのは非常に魅力的です。
また最近になって専用のコントローラーも発売され、さらに可能性が拡がってきています。

f:id:dazzle-tech:20170517163226j:plain

という訳で今回はせっかくなのでこのGear VRの実機上で自作アプリを動かしてみようという内容です。

以下が今回使用したツール類のバージョンです。

対象 バージョン
macOS 10.12.4 (Sierra)
Unity 5.6.1f1
JDK 1.8.0_121
Android Studio 2.3.1.0
Oculus Utilities for Unity 5 1.14.0

Unityインストール

ダウンロード

以下のページから個人向けバージョンをダウンロードします。 https://store.unity.com/ja/download?ref=personal f:id:dazzle-tech:20170517131522p:plain

Android Build Supportのインストール

インストーラを起動したらComponents選択の際Android Build Supportにチェックを入れます。
※既にUnityをインストール済みでAndroid Build Support未インストールの場合も再度インストーラを実行し同手順を行ってください。 f:id:dazzle-tech:20170516190350p:plain

Unityアカウントの作成

アセットストアを利用するために、Unityアカウントを作成します。 f:id:dazzle-tech:20170516155959p:plain

起動時にウィンドウ右上のSIGN INをクリックし、サインインを行います。 f:id:dazzle-tech:20170516190644p:plain

Android向けビルド環境の構築

Android向けビルド環境構築には別途以下のものが必要となります。

  • JDK (Java SE Development Kit)
  • Android SDK(Android Studioからインストール)

JDKのインストール

Java SE Development Kit 8 DownloadsページからMac OS X用インストーラーをダウンロードしインストールします。 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html f:id:dazzle-tech:20170516155957p:plain

Android Studioのインストール

Android StudioのページからAndroid Studioをダウンロードし、インストールします。 https://developer.android.com/studio/index.html f:id:dazzle-tech:20170516155954p:plain

下までスクロールしてtools_r25.2.3-macosx.zipもダウンロードしておきます。 f:id:dazzle-tech:20170516172904p:plain

Android SDKのインストール

Android Studioを起動し、Android SDK Managerを開きます。

f:id:dazzle-tech:20170516160055p:plain

SDK Platforms

検証に使う端末のAndroid OSバージョン以降のものを選択し、OKを押してインストールします。
また後ほど設定に使うので、Android SDK Locationのパスをメモしておいてください。
※2017/05/16現在、6.0より上のものが選択されていれば問題ない可能性が高いです f:id:dazzle-tech:20170516164558p:plain

SDK Tools

NDKのみチェックを入れてOKを押してインストールします。 f:id:dazzle-tech:20170516164953p:plain

Android SDK Platform-Toolsのダウングレード

Android Studioを利用するとAndroid SDK Platform-Tools26.0.x以上のものしか入手できませんが、これに現在最新版のUnityが対応しておらずこのままではビルドができません。
そのためこちらを手動でダウングレードする必要があります。
先程確認したAndroid SDK Location以下にtoolsというディレクトリがありますのでこちらを削除、tools_r25.2.3-macosx.zipを展開したものに置き換えます。

Unityのビルドパス設定

Unity > PreferencesをクリックしExternal Toolsタブを開きます。 f:id:dazzle-tech:20170516165720p:plain

SDK

先程Android Studioで確認したAndroid SDK Locationを入力します。

JDK

以下のコマンドをターミナル上より実行、得られたパスを設定します。
※一般的にバージョンの部分が固有のものになる形で、場所自体は変わらない模様です

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.8.0_121, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

Gear VR向けビルド設定

Oculus社提供のUnity向けユーティリティファイル群をダウンロード

以下のページよりovr_unity_utilities_1.14.0.zipをダウンロードします。 https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/

プロジェクトの作成

空のプロジェクトを作成します。

UnityのVR向け設定を有効化

Edit > Project Settings > Playerから設定項目を開きます。 f:id:dazzle-tech:20170516174341j:plain

Company Nameを変更

会社名を変更します。

Product Nameを変更

アプリ名を変更します。

Virtual Reality SDKsの有効化

Virtual Reality Supportedにチェックを入れ、Virtual Reality SDKsOculusを追加します。一覧に存在しない場合、+から追加できます。

Package Nameを変更

任意の文字列を設定します。
デフォルトのままだとAndroidへビルドできません。

Oculus社提供のUnity向けユーティリティファイル群をインポート

すべてチェックを入れてimportをクリックします。 f:id:dazzle-tech:20170517125837p:plain

Unity-chan!アセットの入手

アセットストアより以下を入手します。 f:id:dazzle-tech:20170517133044p:plain

サンプルアプリの作成

Unity-chan!を配置

f:id:dazzle-tech:20170516185430p:plain

Assets > UnityChan > Amimators > UnityChanARPoseControllerにドラッグして設定。 f:id:dazzle-tech:20170518155954p:plain

Main CameraをOVRCameraRigへ置き換える

Main Cameraを削除し、OVRCameraRigを代わりに配置します。 f:id:dazzle-tech:20170516184913p:plain

カメラの位置を設定

f:id:dazzle-tech:20170516184514p:plain

実際の視点

f:id:dazzle-tech:20170518160006p:plain

署名ファイルの設定

デバイスIDの確認

方法1. 端末のアプリから確認

SideLoadVR DeviceIDというアプリをインストール、それを利用してデバイスIDを確認します。
※ぼかしていますが、実際には Your Device ID is 部分にID情報が表示されます。 f:id:dazzle-tech:20170516180234p:plain

方法2. PCから確認

対象となるAndroid端末が接続された状態で、ターミナルから以下のコマンドを実行します。
※パス中のユーザー名の部分は適宜読み替えてください。
※xxxxxxxxxxxxxxxxxxの部分がデバイスIDです。

$ /Users/ユーザー名/Library/Android/sdk/platform-tools/adb devices
List of devices attached
xxxxxxxxxxxxxxxxxx  device

署名ファイルを配置

先程確認したデバイスIDをOculus署名生成サイトで入力します。 https://dashboard.oculus.com/tools/osig-generator/

IDを入力後にDownload File ボタンをクリックし、署名ファイルをローカルへ保存します。
oculussig_から始まるファイルが署名ファイルです。
保存した署名ファイルをプロジェクト配下のAssets/Plugins/Android/assets 以下へ配置します。

実機確認

ビルド

実行したい端末を接続しFile > Build & Runをクリックします。

端末にこの画面が表示されたらGear VRへ接続します。 f:id:dazzle-tech:20170516192956p:plain

手順に問題がなければ目の前にUnity-chan!が表示されているはずです。 f:id:dazzle-tech:20170518161524j:plain

まとめ

以上の手順で、Macを利用してGear VR向けアプリケーションの作成が可能になりました。
自由な発想でオリジナルのコンテンツを作成してみてください。