LoginSignup
2
1

More than 5 years have passed since last update.

Google Daydreamのtechnical previewでVRのサンプルアプリを実機ビルドする手順

Posted at

今や大人気のVirtual Reality(VR), 少し前にGoogleがDaydreamを発表しました
また、Pixelの発表に伴って追加の発表もあり、VR好きの方はワクワクが止まらない毎日だと思います

この記事は、何か開発しようかな〜と思った時にTechnical Previewがあったので、それを試した時の書きだめになります
サンプルアプリまではすごく簡単に動かせるので、ぜひみなさん実機で動かしてみてください

インストール方法については、とても丁寧な記事がGoogleさんから提供されています!
本記事はその手順に沿っているだけなので、こちらも参考にしてみてください👇
https://developers.google.com/vr/daydream/overview

開発環境

この記事では以下の環境で開発しています

  • Unity 5.4.1ベース
  • Cardboard
  • MacOS X

Daydream対応のアプリケーションの場合は

  • Nexus6P
  • 他Android1台

Daydream対応でなくて良ければ

  • Android1台

開発環境として提供されているものがUnityになります
Unity使ったことない方でも、今回は一切コード触れないのでご安心ください

Daydreamが現在Nexus6Pにしか対応していないので、持っていない方は今まで通りCardboardなどのヘッドセットで動くアプリをビルドする形になります

ダウンロード

ここから必要なものをダウンロードしていきます

Unity

こちらのDaydreamの公式サイトの一番下のリンクから、Unity+Androidランタイムのセットをダウンロード、インストールします

Unity5.4をベースとしたカスタムビルドバージョンのようなので、もしすでにUnityがインストールされている方も別に必要なようです
(インストールしたら現行のバージョンに上書きされてました。このあたりの仕様については詳しくないので不明。。)

インストールしてUnityを開くと、上部にUnity5.4.1f1-GVR7.1って表示されてました〜成功だ!やったね!

Google VR SDK

こちらからDKとサンプルをダウンロードします
また、以下のコマンドでcloneしていただいても構いません

git clone https://github.com/googlevr/gvr-unity-sdk.git

Android SDK

Android SDKのページからダウンロードします
Android Studioを入れるのが便利だと思います(入ってる人は問題ないです)
SDK Managerも使えて後々便利になります

Android SDKのパスをUnityに通す

Unity > PrefernecesからExternal Toolsを選びます
Android SDKを選択する部分があるので、そこでSDKのパスを選択します
Macユーザなら/Users/ユーザ名/Library/Android/sdkになるでしょう

コントローラー

参照: コントローラーとは
つまり、VR画面を見るものとは別に、それを操作するコントローラーが使えるようです!

まだ正式にヘッドセットができていないので自前で準備しやがれ!とのことです
つまり、ビュー用のスマートフォンとは別にコントローラー用のスマートフォンも必要ということになります
しかしapkを配布してくださってて神のようです

こちらのページを参考にダウンロードします
(文中にGithubのリンクがあるので、そこをクリックしてダウンロードしてください)

こんな感じでぬるぬる動く良いアプリです

ついでにController Emulator Overlayもあります

スマートフォンの上に貼り付けるのか、健気だな。。

Unityプロジェクトの作成

プロジェクト新規作成

Unityを開いて、NEWを押します
適当に名前をつけて、 3D にチェックを入れてプロジェクトを作成します

SDKとサンプルのインポート

まずはインポートします
Assets > Import package > Custom package...
を選択し、先ほどダウンロードしたSDKのGoogleVRForUnity.unitypackageを開きます

少しするとチェックボックスのような画面が開かれます
どのファイルをインポートするかの確認なので、すべてチェックが入っていることを確認して進めます

インポートが成功すると、下のProjectの一覧にGoogle VRとPluginsが表示されます
やったね!

プロジェクトの実行

Google VR > DemoScenes > ControllerDemo
からControllerDemoをクリックして開きます

スクリーンショット 2016-10-06 13.23.31.png

さきほどダウンロードしたコントローラーのアプリが入っているAndroidをUSBでPCに接続します
その状態で実行すると!

スクリーンショット 2016-10-06 14.02.04.png

スクリーンショット 2016-10-06 14.02.30.png

コントローラーがジャイロで動いて、ダブルクリックで掴んでオブジェクトを動かせるようです!!
動いて嬉しい!

アプリが繋がらない

開発者モードなどの設定かもしれませんので、確認してみましょう

Download the InputCompanion app and install it on your controller phone. Make sure that your controller phone has Developer Options enabled. (If it does not, see "Enabling On-device Developer Options").

ビルドとその設定

Androidに設定

File > Build Settings
を選択します
左下のテーブルビューでAndroidを選択してハイライト状態にしたまま左下のSwitch Platformを選択します

しばらくファイルのインポートが行われます

プレイヤーの設定

Switch Platformの隣のPlayer Settingsを選ぶと、プレイヤーの設定画面が開かれます

次のように設定します

Bundle Identifier

おなじみのIdentifier
世界で一つのIDをつけましょう

Minimum API Level

Android 4.4を選択します

Virtual Reality Supported

最初はチェックが入っていないのでチェックをつけます
そして + ボタンからDaydreamを選びます

スクリーンショット 2016-10-06 12.37.43.png

ここを選んでる時が一番多幸感がすごかったですね。。

ビルド

準備ができたらBuild and Runを押してビルドしましょう!
エラーなく終わったら成功です:tada::tada:

エラーでビルドできないあなたへ

度重なるエラーで疲弊したので書き残しておきます

ビルド中に止まって、failed to re-package resources....

CommandInvokationFailure: Failed to re-package resources.
/Users/***/android-sdk-macosx/build-tools/24.0.3/aapt package --auto-add-overlay
...

このエラーはAndroid SDK Build-toolsのバージョンが最新版(2016年10月現在v24.0.3)が対応していないからです
Android StudioのSDK Managerを開いて、タブからSDK Toolsを選び、右下のShow Package Detailsを開きます
現在インストールしてあるもののチェックを外して、23.0.3を選んでOKです

それでもまだエラーが発生しました

警告: /Users/***/Library/Android/sdk/platforms/android-24/android.jar(java/lang/Object.class): メジャー・バージョン52は、このコンパイラでサポートされている最新のメジャー・バージョン51より新しいです。
コンパイラのアップグレードをお薦めします

これはJDKのバージョンが低いからでした
java -versionを叩くと

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

1.8にあげろとのことです
というわけでJDKのアップデートをします
また、Unityの
Preferences > External Tools
のJDKのパスを1.8.0のものに変更します

これでなんとかビルドできました!

実機テスト

トラブルシューティングによるとNexus6Pじゃないと動かないようです
持ってる人は試してみましょう!(筆者は持っていません!)

※コントローラーのアプリはNexus6Pでなくても問題ないと思われます。ビュー用のスマートフォンはNexus6P縛りです

もしNexus6Pをもっていなかったら

Google VR > DemoScenes > HeadSetDemo
を開いて、DemoSceneをダブルクリックで開きます
これはCardBoardなどで使うシンプルなアプリケーションです(Nexus6Pを必要としません)

スクリーンショット 2016-10-06 12.50.50.png

さきほどのPlayer Settingsの部分で、Cardboardを選んでビルドしてみてください

スクリーンショット 2016-10-06 12.37.43.png

これで動くはずです!Nexus6Pじゃなくても、VRアプリを実機でプレイすることができました!
おめでとうございます:tada::tada:

まとめ

サンプルアプリのビルドまではエラーはたまにあるものの、かなり簡単に進めることができました
ハードウェアの制約はあるものの、一足先にVRの最先端技術に追いつくことができるので、試してみる価値は大きくあると思います
何よりこんなに簡単に試すことができたので、VRってなんだろう、って思う方にも試していただきたいです
Daydream対応でなければNexus6Pなしでもできますから、ぜひ新しい世界を体験してみてください

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1