VR道を往く!

VRとかUnityとかそういう話中心に。

Oculus SDKが新しくなったのでUnityでのGear VRアプリ作成の流れを再確認してみる

春ですね。そして今年はVR元年だそうな。
Oculus Rift製品版やHTC Viveの出荷が始まってVR業界は活気づいてますね。
うちの会社にはまだ届いてませんが…。
まあうちはGear VRメインだからいいんですけどね(負け惜しみ)。

ところで製品版Rift発売に伴ってSDKのバージョンが新しくなったようなので、 その変更点も踏まえつつUnityを使ったGear VRアプリ作成の流れを再確認していきたいと思います。

注) とりあえずAndroid SDKのインストールと設定は終わっているものとします。

1. 必要なものをダウンロード

以下必要なもの(2016/4/17現在)。リンク先のページからダウンロードしておきます。

注) Oculus utilitiesなどのバージョンは常に変わりうるので環境に応じて新しいのを入れましょう。 最新バージョンはOculus Developer CenterのDownloadsページでチェック。

UnityにOculus UtilitiesをプロジェクトにインポートすることでRiftとGear VR用アプリの開発が可能となります。
今まではUtilitiesのインポートだけでよかったのですが、 バージョン1.3.0ではUnityインストール後に別途OVRPluginを入れる必要があることに注意(Unity 5.3.4p5以降は不要になりました)。

2. Unityのインストール

Unityはバージョンにpのついているパッチリリースバージョンをインストールします。Unityの正面のページからダウンロードするのではなく、必ずパッチリリースのページから選んでダウンロードしましょう。 執筆時点で最新の5.3.4p3をとりあえず入れました。

f:id:kaninabe:20160417194055p:plain
インストールはインストーラの指示のままでだいたいOK。Component SelectionでAndroid Build Supportにチェック入れるのを忘れずに。

3. OVRPluginのインストール (Unity 5.3.4p4以前のバージョン)

追記: Unity5.3.4p5以降ではOVRPluginの機能はUnity本体に実装されたのでこの過程は不要です。

Unityのインストールが終わったら次にOVRPluginを入れます。 f:id:kaninabe:20160417210023p:plain
Unityをインストールしたフォルダ内にoculusというフォルダがあります。デフォルトの場合
WindowsならC:¥Program Files¥Unity¥Editor¥Data¥VR¥oculus
Macなら/Applications/Unity/Unity.app/Contents/VR/oculus
この下にあるフォルダを全て削除します。
MacのFinderではUnity.appのアイコンを右クリック(ctrl + クリック)->「パッケージの内容を表示」でその下のフォルダにアクセスできます。
そして同じ場所に、ダウンロードしたファイル中のoculus.zipの中身を全てコピーします。
これでOVRPluginのインストールはOKです。

4. ランタイムのインストール

Gear VRの開発には必要ないのですが、ランタイム無しだとMacのUnity Editorで再生したときにエラーメッセージの嵐になって面倒なので、とりあえず入れておきます。Windowsではなぜか?無くても大丈夫でした。

5. プロジェクト作成、Oculus Utilitiesをインポート

f:id:kaninabe:20160417210046p:plain:w500
Unityを立ち上げて適当なシーンを作成しましょう。Cubeとかを周囲に配置したり。

f:id:kaninabe:20160417205944p:plain
Oculus Utilitiesをインポートします。ダウンロードしたzipファイルを解凍するとOculusUtilities.unitypackageというパッケージファイルが入っています。Unityでプロジェクトを開いた状態でダブルクリックしてインポートします。
[Assets]->[Import Package]->[Custom Package]でパッケージファイルを選択するのでもOK。

f:id:kaninabe:20160417205917p:plain
インポート後、Assets/OVR/Prefabs/OVRCameraRig.prefabをHierarchyに配置して元のMainCameraと置き換えましょう。

この状態で再生してみて問題ないか確認します。
ちなみにOVRPluginを入れていないと再生ボタン押した瞬間にフリーズしたりクラッシュしたりします。

6. osigファイルの配置

アプリ書き出しの前に、アプリをインストールするGalaxy実機に紐付けられたosigファイルという署名ファイルが必要です。 osigジェネレータのページでosigファイルを作成・ダウンロードします(OculusのDeveloperアカウントが必要)。

f:id:kaninabe:20160417205936p:plain
実機を開発用マシンにつないだ時に、adb devicesコマンドで確認できるデバイスIDを入力します。

f:id:kaninabe:20160417205956p:plain
ダウンロードしたファイルはプロジェクトのAssets/Plugins/Android/assets/以下に置きます。 複数台のGalaxyにインストールしたい場合も、このフォルダ内にosigファイルを並べていけばOKです。

7. アプリのビルド・インストール

f:id:kaninabe:20160417205909p:plain
Unityの[File] -> [Build Settings]でBuild Settingsダイアログを開きます。 Platformは当然Android。また、Player SettingsのOther SettingsでVirtual Reality Supportedにチェックを付けるのと、Bundle Identifierを適当に設定しておくことを忘れずに。

実機を接続した状態でBuild And Runボタンを押せばapkの書き出しとインストールを同時にしてくれます。 Buildボタンでapkの書き出しだけやっておいて、別途インストールしてもよいです。

8. 実機で確認

f:id:kaninabe:20160417214646p:plain
インストールしたアプリのアイコンをタップするとGear VRに接続してくれ、と言われるので接続します。 (この時、接続しても反応してくれなかったり、うっかり画面にタッチしてキャンセルされてしまうことがありますが、落ち着いてGalaxyを取り外してアプリを立ち上げなおしましょう。)

f:id:kaninabe:20160417205927p:plain
Unityで作ったシーンが見えているはずです!