今回はInstant Previewについてです。
Androidアプリ開発者には"Instant Run"は馴染みがあるかと思いますが、あれと同じようにビルド時間を短縮して、動作確認時間の改善を目的とした機能となります。
こちらの機能はUnityとUnrealから使用することが可能となっています。

Instant Previewには以下の2種類あります。
モード概要
Full VR Preview mode開発者が更新したコードがAPKの再構築をしなくても、Instant Previewアプリ上で再生させることが出来る
Controller-only modeデバイスには表示せずに、Unity Editor上でコントローラの動作を再現させることが出来る

準備

Instant Previewを実行するには開発用デバイスと開発環境に準備が必要です。
また、開発環境についてはimportしているGoogle VR SDK for Unityのバージョンを知っておく必要があります。
参考までに、こちらで確認した際の環境は以下のようになります。
名称バージョン
Unity5.6.2f1 64bit
Google VR SDK for Unity1.70.0
Instant Previewアプリ1.0.0.12
  1. こちらからPluginをクローン
  2. クローンしたPluginにある"InstantPreview.apk"を開発用デバイスにインストール
  3. Instant Previewに対応したいGoogle VR向けアプリのUnityプロジェクト(※)をUnityにて開く
  4. ※ Google VR SDK for Unityがimportされている必要があります。未だの場合はimportしてください。import方法はこちらを参照してください。
  5. プロジェクトを開いたら、importされているGoogle VR SDK for Unityのバージョンにより、クローンしたPluginにある以下のパッケージをimportする
  6. importされている
    Google VR SDK for Unityの
    バージョン
    importするパッケージ名称
    v1.40.0以下InstantPreviewForGVRUnitySDKv1.40.0.unitypackage
    v1.50.0以上InstantPreviewForGVRUnitySDKv1.50.0.unitypackage
  7. プレハブ"Assets/InstantPreview/GvrInstantPreviewMain"をInstant Preview対応したいシーンに追加
  8. GameObject化する際、別のGameObjectの子にしないこと。
  9. GameObject化したGvrInstantPreviewMainのプロパティ設定
  10. 以下の値を変更できるので、使用する開発用デバイスにあった値に変更。
    プロパティ名称概要
    Output Resolution 以下の3種類選べる
    解像度
    Big 2560 x 1440
    Regular 1920 x 1080
    Window Sized Unity Editorの画面サイズに合わせて調整
    Multisample Count RenderTexture.antiAliasingに設定する値
    境界の滑らかさを変更できる
    Bit Rateビットレート
  11. 開発用デバイスと開発環境があるPCをUSBケーブルで接続
  12. 開発用デバイスにインストールした"Instant Preview"アプリを起動
  13. このInstant Previewアプリ上に、この後選択したシーンが表示されます。
  14. Instant Previewで確認したいシーンを開いて、以下のPlayボタンを押下

試してみた感じとしては、
  • Unity Editor上で表示するのと同じぐらい直ぐに表示される
  • APKを作成して、インストールするのに比べると格段に早いです。
  • Unity上で値を変更すると、即時反映される
  • スクリプトを修正した場合は、再度Unity上でPlayボタンを押下して再スタートすることで反映できる
  • Unityからフォーカスを奪うとInstant Previewアプリの表示が止まる
  • 開発用デバイスを素早く動かすと、時々Instant Previewの表示領域がおかしくなる
  • 正常時表示領域が下にずれた状態
となっています。速度だけ見ても、結構使えると思います。
また、このままAPKしても当然動作可能でしたので、特に気にならないようでしたら、そのままリリースも可能のようです。
気になるようでしたら、GameObject化したGvrInstantPreviewMainを削除すれば問題ないかと。

サンプルアプリ

ここにサンプルアプリを置きました。 試してみる場合は、以下の手順で確認してみてください。
※ 以下の手順は開発用デバイスに"Instant Preview"アプリがインストールされていることを前提にしています。
  1. ここから環境をクローン
  2. サブモジュールが2つ組み込まれているので、それぞれを取り込む
  3. ブランチをタグ"v0.0.5"に切り替える
  4. Unityでクローンした環境を開く
  5. "Google VR SDK for Unity"、"Instant Preview"用のパッケージをimport
  6. Assets/Scenes/InstantPreview.unityを開く
  7. 開発用デバイスを開発環境が動作しているPCにUSBケーブルで接続
  8. 開発用デバイスのInstant Previewアプリを起動
  9. UnityのPlayボタンを押下

コメントの投稿