GAME_ROTATION_VECTOR を Android 4.x にバックポートできるかどうか知っている人はいますか?
ありがとう
GAME_ROTATION_VECTOR を Android 4.x にバックポートできるかどうか知っている人はいますか?
ありがとう
加速度計とジャイロスコープのデータに基づいて再実装できます。しかし、それは簡単ではありません。「方向カルマン フィルター」を検索して、Android 用の実装があるかどうかを確認できます。うまく機能するものを見つけたら、お知らせください。
これらのセンサー値の計算はネイティブ レイヤーで行われるため、簡単にバックポートできる既存のプラットフォーム コードはありません (ここに JNI コードがあり、ネイティブ コードからセンサー イベントの更新を受け取るセンサー マネージャーの Java 実装がここにあります)。
したがって、ユース ケースによっては、 Android 4.X でTYPE_ROTATION_VECTORセンサーを使用するのが最善の策かもしれません。Android のドキュメントによると、TYPE_GAME_ROTATION_VECTOR は次のとおりです。
キャリブレーションされていない回転ベクトル センサー タイプを表す定数。
地磁気フィールドを使用しない点を除いて、TYPE_ROTATION_VECTOR と同じです。したがって、Y 軸は北を指すのではなく、他の基準を指します。その基準は、ジャイロスコープが Z 軸を中心にドリフトするのと同じ大きさでドリフトすることができます。
理想的なケースでは、携帯電話を回転させて現実世界と同じ向きに戻すと、(地球の地磁気を使用せずに) 同じゲームの回転ベクトルを報告する必要があります。ただし、向きは時間の経過とともに多少ずれることがあります。
次に、他の参照に従って Y 軸を手動で変換できます。これは、上記の理想的なケースが当てはまる限り機能します。ただし、センサーがドリフトし始めると、変換でエラーが蓄積され始めます。