モバイルVRの開発環境を構築しよう
今回は、モバイル VRコンテンツ開発に必要な環境を構築する手法を紹介する。実際に自身のPC に開発環境を構築し、コンテンツ制作をはじめられるようにするのが目的だ。
まずは、「そもそもどのようにVRコンテンツを開発していくのか」を確認してみよう。
モバイル VR コンテンツの開発手法
VR コンテンツは、主に次の2つ機能からなる、とみなすことができる。
- ヴァーチャル空間を3D映像としてレンダリングする機能
- HMD(ヘッドマウントディスプレイ)の傾き・位置情報・ボタン等の、入力を行う機能
このうち、1.の3Dレンダリング機能はモバイルであれば「OpenGL ES」アーキテクチャを利用して作ることができるが、もっとも現在はUnityやUnreal Engineなどのゲームエンジンを使用するのが一般的だ。2.の入力機能もまた、ゲームエンジン側が提供している豊富な入力機能を利用して実装することが可能だ。つまり、ゲームエンジンを用いてモバイルアプリをビルドすることでスマホで動くVRコンテンツが制作できるワケだ。
本連載では、2016年現在で最も有力なゲームエンジンの1つ、Unityを使ったVR コンテンツ開発を紹介していく。
Unityとは
Unityを知らない読者はほとんどいないだろうが、ここで改めて紹介しておこう。Unityは様々なプラットフォームへのアプリビルドに対応しているゲームエンジンだ(図1)。モバイルゲーム・アプリの分野で数多くのタイトルに採用されていることで知られている。日々アップデートを重ねており、2015年秋にリリースされたバージョン5.1からはOculus VRデバイスのサポートがインテグレートされた。つまり、UnityだけでGear VR用のコンテンツを作ることができるようになったのだ。
また、様々なプラットフォームへのビルドをサポートするUnityなら、1つのソースでGear VRとハコスコ/Google Cardboardで動くアプリを作ることができる。^1
使用するUnityのバージョンについても気をつける必要がある。
HMDごとの環境構築作業を確認する
開発環境を構築するにあたり、使用するHMDやモバイルプラットフォームによって必要なものが異なってくる。Unityは共通して必要になるが、以下の対応表を確認して具体的な作業を行ってほしい。なお、以下で紹介しているものはすべて無料でインストールすることができる。
【HMD・プラットフォーム別開発対応表】必要なもの | Gear VR | ハコスコ / Google Cardboard (Android) | ハコスコ / Google Cardboard (iOS) |
---|---|---|---|
Unity | o | o | o |
Android SDK | o | o | x |
Osigの作成 | o | x | x |
Xcode | x | x | o |
開発 OS | Windows / OS X | Windows / OS X | OS X |
Unity のインストール
それでは、さっそく開発環境を構築していく。まずはUnityをインストールしよう。と、その前に、開発に使用するPCが次の条件を満たしていることを確認しておこう。
- Windows: Windows 7 以上
- OS X: Yosemite 以上
条件の確認が済んだら、Unityをインストールする。2016年3月現在、Unity 5.3.3p1のバージョンをインストールすることが推奨されているため、このインストーラをダウンロードしよう。なお、バージョン番号に"p"が付く場合は通常のダウンロードサイトではなく、パッチリリース用のページから該当バージョンのインストーラをダウンロードしよう(図2)。
インストールを進めていくと、Unityコンポーネントを選択する画面が表示される(図3)。ここでのUnityコンポーネントとは、Unityエディタ本体以外のドキュメントやサンプルアセット、他プラットフォームへのビルドに必要なモジュール類のことだ。今回は、最低でも次のコンポーネントにチェックをつけておけば良いだろう。
- Unity 5.3.3p3
- Standard Assets(汎用アセット)
- Macビルドサポート(Macを使っている人)
- Windowsビルドサポート(Windowsを使っている人)
- Android Build Support(Gear VRやAndroid 端末向けにビルドしたい人)
- iOS Build Support(iOS端末にビルドしたい人)
インストールが終了したらUnityを起動して(図4)、試しにUnityプロジェクトを作成したり問題なく使えるか確認しよう。
Unityは頻繁に新機能を取り込みや不具合を修正したバージョンアップを行っているため、異なるバージョンが使われているプロジェクトが複数あると、すべてのバージョンのインストールも必要になる。通常、インストール先のフォルダは"Unity" となるが、インストール後にこのフォルダ名を"Unity バージョン名"というように手動で書き換えれば、複数のバージョンを同時にインストールすることが可能だ(図5)。
なお、Unityプロジェクトはなるべく同一バージョンのUnityで開くようにし、開発途中でバージョンアップを行う場合はプロジェクトのバックアップをとっておくようにしよう。また、複数人で開発を行う場合はメンバーへの周知も行っておこう。異なるバージョンで同一プロジェクトを開くのは様々なトラブルの原因となるため、注意が必要だ。
Android SDKのインストール
Android OS用のアプリを開発するためには Android SDKをセットアップする必要がある。Gear VRアプリも実のところはAndroidアプリなので、この環境構築は必須だ。なお通常のAndroidアプリ開発はAndroid SDKとAndroid Studio、EclipseなどのIDE上で行うが、今回は開発にUnityを用いるため、このSDKのインストール方法について解説する。
SDKの入手とインストール
Windows/OS X ともに、事前にJava SE Development Kit 7(JDK)以上のインストールが必要になる。忘れず行なっておこう。
次に、SDKをダウンロードする。Google公式サイトのリンクではIDEのAndroid Studioも含まれたパッケージが紹介されているが、今回はSDKのみのパッケージ「STAND-ALONE SDK TOOLS」をダウンロードしよう(図6)。
ダウンロードが完了すると「android-sdk-macosx」という名前のフォルダができるはずだ(OS Xの場合)。このフォルダはApplicationsフォルダなど、誤って削除することがないような場所に移動しておこう。
android-sdk-macosx/tools以下の「android」を実行すれば、「Android SDK Manager」が起動する。起動しない場合はOS Xのセキュリティ設定を見なおしてみよう。
SDK Managerでインストール
SDK Managerを通して、Android SDKの各パッケージをダウンロード・インストールしていく。基本的にデフォルトでチェックが入っているパッケージをインストールすれば良い。念のため、最低でも次のパッケージにチェックが入っていることを確認しよう。
- Android SDK Tools
- Android SDK Platform-tools
- Android SDK Build-tools(最新版)
- Android 6.0(API Level 23)
- Google USB Driver(Windows のみ)
UnityにAndroid SDKを設定する
SDKのインストールが完了したら、UnityでAndroid SDKを利用できるようにするための設定を行う。Unityの「Unity Preference」から「External Tools」→「Android」 と展開し、「SDK」に先ほど追加したAndroid SDKの場所を指定しておこう(図7)。
パスを通す
続けて、コマンドサーチパスにAndroid SDKを登録しよう。これにより、コマンドプロンプト/ターミナル経由で各Android コマンドを実行できるようになる。操作に自信がない場合は、この作業をスキップしても構わない。
Windows の場合は、システム環境変数のPATH
に以下のパスを設定する。
C:\<SDKのフォルダ>\tools\;C:\<SDKのフォルダ>\platform-tools\
OS Xの場合は、ホームディレクトリの.bash_profile
へ以下のように PATH を記述し、ターミナルを再起動すれば良い。
export ANDROID_HOME=/<SDKのフォルダ>
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
パスを設定できたら、試しにコマンドプロンプト/ターミナルからadb
コマンドを叩いてみよう。図7のようなヘルプが表示されればOKだ。
osig ファイルの作成(Gear VRのみ)
Gear VR対応のVRコンテンツを開発する場合はosigファイルを作成する。Gear VRの開発版アプリには「Oculus Signature File (osig)」と呼ばれる証明ファイルを含める必要がある。作成手順は次の通りだ。
adb devices
コマンドでGalaxy端末のDevice IDを表示する- Andrid SDKにパスが通っていない場合はAndroid SDKフォルダ/platform-tools/adbファイルをコマンドプロンプト/ターミナルにドラッグ・アンド・ドロップし、続いて
device
を入力する(図8)。
- device IDをOculus Signature File (osig) Generatorのフォームに入力する(図9)
- ファイルをダウンロードする
このファイルは、後ほどUnityエディタでの開発時に使用するため保管しておこう。また、開発に使用するGalaxy端末毎に作成する必要があることにも注意してほしい。
Android SDKにはアプリ開発に便利な各種ツールが用意されている。「Android Device Monitor」(起動するにはmonitor
コマンドを使用)の「LogCat」はデバイスからのログを取得するもので、UnityのDebug.Log() 関数から出力したログが確認でき、しかも文字列でフィルタリングができる。また、「File Exploer」を使えばPCと端末間でファイルのやりとりができる。他にもスレッドやネットワークの状態なども確認できるので、実機でのデバッグ時には積極的に使っていこう。
iOS向けにアプリをビルドする場合は、OS X専用のIDEである「Xcode」が必要だ。OS XのApp StoreからXcode を検索してインストールしよう(図10)。
なお、Xcode7からビルドが無料で行えるようになったが、アプリの配布には有償の「Apple Developer Program」に加入した上で、各種証明ファイルなどを作成する必要がある。
これで、Unityを使ったモバイルVRコンテンツの開発環境は整った。次回は、サンプルプロジェクトを使ってGearVR・Google Cardboard・ハコスコ向けにアプリをビルドしてみよう。