「UnityによるARゲーム開発 」(O’Reillyの書籍 日本語訳バージョン)
ポケモンGOのような地図上ARゲームの作り方解説本。ただ、Google Maps APIを使っているため、2018以降のAPIキー対応用にはいろいろ変更しなくてはならない
また、クレジットカードなどによる、支払い請求情報を入力する必要がある。
(いきなり課金されることはない。最初の1年間は34000円ぐらい(300$)使えるらしい)
これらは、Google Cloud Platform上で設定する
https://console.cloud.google.com
プログラム(GoogleMapTile.cs)の修正
APIKEYをpublic string で入力できるようにする
public GPSLocationService gpsLocationService; //この行の後ろに↓
public string API_KEY; //★追加
queryString += “&sensor=” + (usingSensor ? “true” : “false”); //この行の後ろに↓
queryString += “&key=” + API_KEY; //★追加
//yield return req.Send(); ←req.Send()が古くて使われていないそうなので
yield return req.SendWebRequest(); //★追加(こちらに替える)
サービスの導入(CUDLRとGPS)
CUDLR(Console for Unity Debugging and Logging Remotely)
初期設定で、ポート55055を使う設定になっているので、Chromeなどで
http://<デバイスのIPアドレス>:55055/
を見ると、デバイス上のオブジェクトの動きなどがわかる(最終製品からは削除すべき)
GPS
デバイスのほうで、GPS有効にする
Mapタイルにスクリプト設定
スタンダードアセットから
イーサン ThirdPersonのプレファブから これをPlayerという名前にする
カメラ FreeLookCameraRigをプレイヤーの子として設定 Playerを自動で追尾
crossplatform タッチパッドなどを追加してくれる ここではDualTouchControlsから不要なJumpやタッチパッドを削除
コンパスの利用
CharacterGPSCompassControllerスクリプトの作成
Start() 内で、 Input.compass.enabled=true;
Update() 内で、コンパスの磁北に180°足して反転させ、コンパス角度を足したものを
rotationとして取り出し、クォータニオン変換して、ゆっくりその角度まで変化するように設定
イーサンの最初からついていたコントローラを削除し、上記スクリプトを追加。
(このあたりは、メモになってます。詳細は、書籍参照)
Unity Editor上でも、モバイル上でも動いたー 嬉しい
フォーラムに投稿してみようと思う
オープンデータ
WRLD
https://mapdesigner.wrld3d.com/
今注目中。無料バージョンでどこまで出来るか検証中
Mapbox
どんぴしゃ。Maps for Unityというキャッチでサービスしている
先行参考記事
「2017年10月12日に更新 [Unity] WRLD Unity SDKで地図情報に基づいた建物を表示する」
https://qiita.com/lycoris102/items/f9edd8728c1f2966debb