Gear VR、360 Photosがかなりいい。VRでGoogle street view見れるようになったら最強な気がする。
— cat (@hi_rom_) 2015, 12月 19
ということで、Gear VRでGoogle Street Viewを表示するサンプルをつくってみました。
準備
androidの実機で確認するにはOculus Signature File (osig)というファイルが必要になります。osigファイルの取得方法等は以下になります。
- DeviceIdの確認
- osigの取得
こちらのサイトにDevice IDを入力しosigファイルを取得する - osigファイルの格納
取得したosigファイルをプロジェクト配下の以下に格納する
<プロジェクトトップ>\Assets\Plugins\Android\assets
実装
やっていることはシンプルでStreetViewの画像6枚取得し、Skyboxに取得した画像を設定しているだけです。
■参考サイト1
Unityでストリートビューを歩く
Unityでストリートビューを歩く
この実装で試したところPlayボタンを押したときにUnity上では問題なく表示されるが、androidの実機ビルドではなぜかSkyboxが表示されなかった
■参考サイト2
UnityでGoogle Street Viewを表示させる
Skyboxとmaterialを動的に生成していないのがひとつ上の参考サイトとの差分だが、こちらは問題なくandroid端末で動作した
ビルド
- File -> Build Settings -> Player Settingsの OtherSettingsのVirtual Reality Supportedにチェックを入れる
- Minimum API Levelを19にする
- android SDKパス(ビルド時に聞かれた場合は以下のようなsdkのある場所を指定する)
C:\Users\<ユーザ名>\AppData\Local\Android\sdk - Bundle Identifierのエラーが出た場合
参考:【Unity】Error building Player: UnityException: Bundle Identifier has not been set up correctly
→英数字とアンダースコア(_)でないとダメ
→数字で始まるものやハイフンはダメ
実行
こんな感じで360度みることができます。おわりに
とりあえずGear VRでGoogle Street Viewが見れるようになりました。しかし以下問題点があります。
- 画像サイズ2048x2048まで取得できるのかと思いきやいざAPI叩いてみると取得できる画像が640x640のせいか、全体的にぼやけて見える
- 画像のつなぎ目が目立つのと、各画像のすみにGoogleのロゴがあるのがいまいち
この辺の問題点が解決できそうであればUIを作り込む価値はありそうですが、ひとまず実験はここまで。
おまけ
わざわざ実装しなくても、以下Youtubeに紹介されている方法でもGearVRでStreet Viewが見れます。