FC2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム » Unity »【Unity】GearVR アプリをビルドする

【Unity】GearVR アプリをビルドする  


 試しに以前作った Google Cardboard 用アプリを GearVR にしてみたのでその記録。GearVR の作り方は公式の Oculus デベロッパーサイトに多くのドキュメントが掲載されているのだが、なにせほとんどが英語なもので、google翻訳使いながらやるのはとても面倒だった(笑)。日本語のサイトも色々あったけどね。ただ更新が早いので、申請要項などもそうだが、内容が少し古くなっていたので、現時点での方法を簡単にまとめておくことにした。SDKが更新されたらやり方も変わるので注意しよう。

※Oculus Store で配信中(検索:unitychan flyer)

 今回は開発環境は整っていて、かつ Android ビルドができる状態であることを前提とした GearVR 用のビルドの方法なので、環境構築からやる場合は以下の参考URLなどを見て欲しい。内容的にはこれらと被る部分も多いが、ここでは主に公式の Oculus デベロッパーサイトからの重要な部分だけの抜粋を中心に書いていこうと思う。

(参考)
Unity5でGear VR用アプリの開発方法
UnityでGearVRアプリを作成する際の初期設定
UnityでGear VR用アプリを作る(1) 環境準備とAndroidアプリの書き出し
Oculus Unity Documentation Archive (※pdf をダウンロード)

 また、今回は Oculus Utilities 1.16.0-beta を使用することにおいて、Unity2017.1f03 でやってみたら色々エラーが出るようなので、Unity 5.6.2p3 を使っている。なので自力で修正、または今後のバージョンアップで修正されたのなら、細かい仕様が変わってしまっている恐れがあるので、なるべく最新情報を検索してみた方が良いだろう。


(※) Unity 5.6.2p3 / Windows10(x64) で確認



■Oculus Utilities をインポートする(※掲載時点:Oculus Utilities 1.16.0-beta)

 まずは Oculus Utilities をダウンロードして、プロジェクトにインポートしよう。幸いなことに、以前は GearVR の機能を自分で実装する必要があったようだが、現在ではこのパッケージとSDK(後述する PlayerSettings)を導入すればほとんどの機能を自分で実装する必要がない。もし作成したアプリを Oculus Store に申請するなら、ほぼ要件を満たしているので、これを使わない手はない(笑)。

1.Unityパッケージ>Core Packages>Oculus Utilities for Unity 5 (※バージョンは掲載時点) をダウンロード。

※「I have read and agree to the terms of the EULA, 利用規約 and プライバシーポリシー」(規約に同意)をチェックすればダウンロードできるようになる。
※必要ならデベロッパー登録(アカウント作成)をしておいた方が良い。

2.インポートしてすぐにアップデートが促されたら「Yes」ボタンでアップデートする。その場合は、エディタの再起動も必要となる。





 再起動したら、シーン「Assets>OVR>Scenes>GearVrControllerTest」を読み込んでみると良いだろう。ヒエラルキーにある「OVRCameraRig」が GearVR でのカメラやコントローラを扱う中心となるプレファブと考えて良い。「Assets>OVR>Prefabs>OVRCameraRig」にもプレファブはあるが、GearVR コントローラはセットアップされてないので、ヒエラルキーにあるオブジェクトを「OVRCameraRig Gear」とでもしてプレファブ化しておいた方が楽だろう。詳しい内容などは参考URLを見て欲しい。

(参考)
Oculus Utilities for Unity

 このシーンをビルドすれば GearVR コントローラの簡単なテストができる。しかしその前に実機でテストするためには Oculus 用の署名ファイルが必要だ。以下の方法で OSIGファイルを作成しよう。



■OSIG(署名)ファイルを作成する

 実機でテストするには Oculus 用の署名ファイルが必要となる。それは端末ごとのIDとなるので、複数使う場合はそれら全ての署名ファイルを作る必要がある。しかし一度作ってしまえば、端末を替えない限りは別の開発アプリでも使えるので、作ったファイルは大切に保管しておこう。なお、アプリを Oculus Store に申請する場合は、提出用ビルドはOSIGファイルを取り除くこと推奨とあるが、どのみちリリース時に自動で削除されるようなので、そのままでも構わない(審査には引っかからない)。

(参考)
Sign your App with an Oculus Signature File(Preparing for Mobile Development)

1.スマホ端末で Google Play から「SideloadVR(Alpha)」を端末にインストールする。

2.SideloadVR でメニュー(三本線)を開き、「View Device ID」を見る。

(参考)
Device IDの取得とOculus Signature File(osig)の作成(Unity5でGear VR用アプリの開発方法)

3.この Device ID を「Oculus Signature File (osig) Generator」に入力して「Download File」ボタンを押せば、「oculussig_XXX」(XXX には Device ID が入る)ファイルがダウンロードされる。


※まだアカウントが無いときは、デベロッパー登録をする。

4.Unity エディタに戻り、プロジェクトエクスプローラで「Assets/Plugins/Android/assets/」フォルダを作成する(初期状態では「Assets/Plugins/」までしかない)。

5.作った「Assets/Plugins/Android/assets/」フォルダにダウンロードした「oculussig_XXX」(XXX には DeviceIDが入る)をインポートする(ドラッグ&ドロップで良い)。


 なお、adb コマンドでやる場合は以下を参考にして欲しい。

デバイスIDの登録(UnityでGear VR用アプリを作る(1) 環境準備とAndroidアプリの書き出し)
adbコマンドについて(UnityでAndroidアプリをビルドするには)
Oculus Signature File (osig) Generator(Instructions)



■GearVR 用の BuildSettings

 先ほどのシーン「GearVrControllerTest」を保存したら、メニューから「File>Build Settings...」を開こう。ダイアログが出たら「Add Open Scenes」でシーンを追加して、「Platform」を「Android」に、「Texture Compression」を「ASTC」にする。このあたりの設定は以下の参考に載っている。設定したら「Switch Platform」を押して Android 用ビルドに切り替えよう。



(参考)
Build Settings(Building Mobile Applications)

※「DirectoryNotFoundException: Directory 'Assets/Plugins/Android/assets' not found.」と出た場合は、フォルダ「Assets/Plugins/」(※初期状態)以下に「Android/assets」フォルダを作る必要がある。ここに OSIG(署名)ファイルを置く。



■GearVR 用の PlayerSettings

 「Build Settings」ダイアログが開いている場合は「Player Settings...」ボタンを、閉じてしまった場合はメニューから「Edit>Project Settings>Player」で「Player Settings」を開こう。設定項目は色々あるが、ここでは必要な設定だけを書いておく。またあくまで推奨設定なので実際にはパフォーマンスが許すなら任意でも良いようだ。


●Other Settings
[Rendering]
・Multithreaded Rendering : オン
・Virtual Reality Supported : オン
・Virtual Reality SDKs に「Oculus」を追加する(複数で切り替える場合は一番上が優先になるが、使用しないなら削除(「-」を押す)しておいた方がビルドサイズが小さくなる)。

[Identification]
・Package Name : 任意のパッケージ名(※必須)
・Minimum API Level : 「Android 5.0 'Lollipop'(API Level 21)」にする。

[Configuration]
・Device Filter : 「ARMv7」にする(x86は使わないのでARMv7のみにするとビルドが速くなるそうだ)。

(参考)
Player Settings(Building Mobile Applications)

●Publishing Settings
※Oculus Store に申請する場合は、Android の Keystore も必要。

(参考)
Sign your application with an Android Keystore(Building Mobile Apps for Submission to the Oculus Store)
アプリの署名



■GearVR 用の QulitySettings

 メニューから「Edit>Project Settings>Quality」で「QulitySettings」を開こう。Android の場合はデフォルトは「Simple」になっているのでクリックする(Default の▼で変更できる)。以下の設定もあくまで推奨設定なのでパフォーマンスが許すなら任意で良い。


[Rendering]
・Pixel Light Count : 1
・Texture Quality : Full Res
・Anisotropic Textures : Per Texture
・Anti Aliasing : 2x Multi Sampling (or 4x)
・Soft Particles : オフ
・Realtime Reflections Probes : オン
・Bilboards Face Camera : オン

(参考)
Quality Settings(Building Mobile Applications)

※Anti Aliasing を 2x または 4x~ にすると警告「Warning! Using antialiasing on a mobile device may decrease performance severely. You can change the mobile quality settings in 'Project Settings -> Quality Settings'.」(モバイルではアンチエイリアス使うとパフォーマンス下がるよ)が出るが無視して良い。



■実機で試す

 すべての設定が終わったら、再び「File>Build Settings...」を開き、今度は「Build」ボタンで実際にビルドしてみよう。できた apk ファイルを実機に転送してインストールすれば、端末のランチャーから起動できる(装着が促される画面「このアプリケーションを起動するには、端末をGearVRに挿入します」が出る)。ちなみに、転送する方法は USBデザリングや Google Drive などに置いてダウンロードする方法などがある。以下に参考URLを載せておこう。実際に起動してコントローラをいじってみると、画面に出ているパラメタが色々変化するハズだ(起動直後にコントローラを認識してなければ、Backキーを短押しすると認識できる)。OculusStoreに提出するときはマニフェストファイル(AndroidManifest.xml)や署名なども必要になるので、その場合はこちらも参考にして欲しい。

(参考)
Galaxy S6のデバッグモードをオンにする(Unity5でGear VR用アプリの開発方法)
提出用 apk をビルドする

●ユニバーサルメニューのVideoShotで録画したもの。長押しや音量ボタンも機能する。
(※実機では操作中にUIアイコンが見えているのだが録画はされないようだ)
(※) Galaxy S7 Edge で確認

※実際に配信されるとこんな感じになる(カテゴリごと)

※検索で「unitychan flyer」を入れてみると…






(関連記事)
【Unity】GearVR アプリを Oculus Store に申請する(要件・仕様の概要)
【Unity】VRレーザーポインター(ビーム)を作る


このコンテンツの一部には『ユニティちゃんライセンス』で許諾されたアセットが使用されています。
Portions of this work are licensed under Unity-Chan License


スポンサーサイト

category: Unity

thread: ゲーム開発

janre: コンピュータ

tag: GearVR  VR  ユニティちゃん 
tb: 0   cm: --



トラックバック

トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/257-f3a1f9e8
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop