GPSとARを組み合わせて宝探し的なゲームを「おばけスキャン」でやってみる

AndroidのGPS情報を得て指定の座標付近にARオブジェクトを出現させる実装方法を解説します。

なのでここでは宝箱を発見するようにします。では置く場所の緯度経度を取ります。ここでは長柄ダムのぼうぼうラーメン(閉店)至近にします。

いろいろな場所に配置する予定なのでVectorの配列を作っておきます。

で、LocationServiceの初期化をしてARCoreの初期化もしときます

で、GPSを取得して現在地と配置配列を確認する部位とTickでARスポーンする部位に分けて処理をします。

GPS部では[イベントBeginPlay]でGPS情報を取得してGPS配列を回して比較しています。5秒おきにGPS情報をBestで得てGPS位置を配列化した変数を得るたびにLoopして比較しています

Distanceの0.0001は誤差約15mに設定しています。0の方が正確なんですが万が一0が取れなかった事を考えての保険です。

で、GPS配列のどれかに近づいたらSpawnedブーリアンをTRUEにします。GPS部はこれでおしまいです。

次はARスポーン部です

SpawnedブーリアンがTRUEになったら走ります。が、何度も処理しないようにSpawnedブーリアンは直後にFALSEにしときます。で、空間の認識処理でTransformをGetしてActorをSpawnします。(この処理も認識されたものは配列になるので認識できた場所分だけSpawnしないようにSpawnは最初の一回だけにしておきます。)

SpawnされたActorは用が済んだらDestroyするのをお忘れなく。

長柄ダムのぼうぼうラーメンのほぼGPSで設定した位置に表示しました。こんな感じでActorが表示されます。でも演出を忘れずに!

他に「市原湖畔美術館」

月崎駅(2mくらいズレてる)

養老渓谷駅

設定した緯度・経度にいくとこのように宝箱が出現します

これは現在配信中の「おばけスキャン」で実装しますので実装はこちらで確認ください。

ここまでのアプリを試す場合はこちらからDLできます。(337MB)
宝箱は上記に加え、鋸山大仏前・JR鎌取駅周辺にも配置しています。

おばけを昇天させると稀にお礼として古びた鍵をもらえる。特定の地点で豪華で古びた長持を発見する。鍵を持っていると開けて九字の札、芳一の札、般若の面、仏の心、邂逅の記憶などのアイテムが取得できる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です