Android端末のジャイロセンサーから向きを得てUE5のレベルでのRotationに反映させる

UE5でAndroid端末(GalaxyA25で開発中)のジャイロセンサーの向きを指す値を得て、実際の動きとUE5のレベルでの動きをリンクさせるにはイベントTiltを使う。TiltイベントはAndroid(プラグインを使用することが前提)にあるジャイロセンサーから得た値を受け渡すイベントのもよう。

Tiltで検索すると出てくる

AxisValueからX(上下:-3から3が返される)、Z(左右:-3から3が返される)、Yは不明が得られる。

ひとまず左右の向きを得て補正をかけるBP

結構細かくぶれて見た目がわさわさまどろっこしいのでまず、返された値が負の値だった場合で次の値が正の値でない場合だけで更に小さい場合のみ処理する(負の値のあと急に正の値が返される場合があってブルるので)正の値の場合は正の値の場合のみで更に大きい値だった時だけ処理する。

で、左右の向きだけ反映させるのでZのみ処理するがAxisValueは-3から3までで、正面が0なのでYawの角度の値0から180、0から-180と創始するのでこれを度に置き換える必要があるのでR2Dをかまし角度に変換する(多分60を掛けてるんじゃないかな?)

で、カクカクしないようにEASEで補正をかける。のだがスタート(移動前)を用意する必要があるので、一旦現在地を保存しておく。(ここではOldRotation変数)でこれをスタートにして最新の値をゴールにする。

これでAndroido端末(GalaxyA25)の実際の左右の動きとレベルの中のカメラの向きがリンクする(多少のカクカクは何ともならないが….)

上下はいいか。上下入れると操作性が悪くなるのでね。で、移動はGPSの緯度経度をレベルの座標にすればよいか。

コメントを残す

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

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)