AndroidのGPS情報とジャイロセンサーを元にマップを移動するアプリを作る

AndroidのGPS情報が取れたら

UE4でAndroidのGPS情報を得る

これを元にマップを移動するアプリを作ります。まあ、ポケGOですね。

EVENT BIGIN PLAYでGPSを初期化して有効か無効かを判定するブーリアンを用意します

EVENT TICKでGPSが使えるか分岐します。

GPSが使える場合はシーケンスに進みます

で、後で書き込むstring変数が空なら分岐します

で、flugのブーリアンは最初falseなので最初は上を通りウィジットの「GPS情報を取得中」と表示します。で、GPS情報が得られたらstring変数に格納されるので下に移動してウィジットを消去します。

で次のシーケンスへ移動し、GPS情報がEVENTとして受け取れたらその情報を得ます

GPS情報が得られたらその情報がString変数にここでSETされます。

Firstflugのブーリアンは最初はTRUEにしてあります。最初の一回はTRUEが走ります。そしたらFirstflugはFALSEにします

以降はGPSが取得される度に下が走ります。

で、最初に取得した緯度、経度と次に取得した緯度、経度の差を得ます。

得たら現在のPawnのLocationを得てLerpで補正を0.1/Tickずつ加算して得た差をターゲットに移動させます。また、ジャイロセンサの情報をTiltを取得してPawnのTotaterを得て同様にLerpで補正を0.02/Tickずつ加算しますがこれは僕のNexus5のジャイロセンサーの振れがすごいので振れを抑制するのにTickの移動を小さくしています。

これでAndroidの向きと移動が取れます。緯度、経度の差に1000000を掛けているのはUE4の単位がcmなので0.000001の緯度、経度の単位がcmなので合わせるのに使っています。これでUE4のマップのサイズと地球のサイズが合いました。

ではAndroidで動かしてみましょう。動作確認できている端末はNexus5:Android6.0です。

https://phpjavascriptroom.com/?t=mobile&p=android_apk_install

↑apkインストール方法

このapkはこちらからDLできます

カテゴリーUE4

コメントを残す

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