非表示
Project Tango

モーショントラッキング

プロジェクトタンゴのコア機能は、空間を介して運動を測定し、移動してきた領域を理解することです。このページではプロジェクトタンゴのモーショントラッキングの実装とアプリケーションでそれを利用するためのいくつかの方法について説明します。

実装の詳細

プロジェクトタンゴAPIは姿勢(Pose)とよばれるユーザ端末の位置と方向を完全に6自由度で提供します。APIは姿勢データを取得するための二つの方法をサポートします。コールバックは、最新の姿勢の更新を取得するために利用し、関数は特定のタイムスタンプの(おそらく補間された)姿勢を取得するために利用します。2つの主要な要素で姿勢データを返します:平行移動のためのベクトルと回転のため四元数(quaternion)。姿勢は、特定の参照フレームペア内で特定され、参照の基準のフレームに対するターゲットフレームを指定する必要があります。

純粋なモーショントラッキングを使用する場合は、デバイスの開始位置は新しいセッションを起動するたびにリセットされます。サービスがまだ実行されていて、カメラがオンになっている限り、開始位置に対するデバイスの相対移動を出力します。一貫して、原点を繰り返し物理的な世界に位置合わせする必要がある場合は、プロジェクトタンゴは後で参照するために名前をつけた領域の記述を保存することができるエリア学習(Area Learning)をサポートしています。

ベストプラクティス

仮想世界に現実世界でのユーザーの動きを関連付けるアプリケーションでは、物理的なスペース要件に気を付ける必要があります。あなたの仮想の城が100メートルの長さである場合、ユーザーは他の端に行くために、現実の世界で同じ距離を移動する必要があります。ユーザーが壁、ドア、または家具によって動きをブロックされないように、アプリケーションを起動するときに仮想の3次元世界がどのように位置するかを理解することも重要です。プレイするのに必要なエリアを予想して可視化するオプションを提供すれば、ユーザーが仮想空間の大きさを変えることもできます。

一般的なユースケース

ユーザーの周囲の実際の形状の3D表現を作成するために、奥行き知覚セクションを参照してください。

改良された回転のセンシング

Android Game Rotation Vector APIを使用している使用しているすべてのアプリケーションは、プロジェクトタンゴによってより高精度となります。ジャイロスコープと加速度計はそのAPIと同様の方法で使用しますが、プロジェクトタンゴはより正確に回転および直線加速度を推定するために視覚的な情報取得用に広角カメラを使用しています。

運動追跡

プロジェクトタンゴでは、現実の世界におけるデバイスの動きを追跡することができます。単純な例は、視錐台として示すカメラビューとグリッド上のデバイスの動きの2Dトップダウンビューを表示することです。図1を見てください。広角モーションカメラが見ているもの、2Dグリッド上のデバイスが移動した軌跡、およびデバイスの位置を示す簡単なアプリケーションのスクリーンショットです。

図 1: 実行中のモーショントラッキング

3D空間でもパスをプロットすることができます。

バーチャルカメラ

回転と位置追跡を組み合わせることで、バーチャルリアリティゲームのような、3Dレンダリングされた環境の仮想カメラとしてデバイスを使用できます。プロジェクトタンゴは、Unity 3DゲームエンジンのSDKを提供し、OpenGLとCやJavaを介して他の3Dエンジンをサポートしています。

プロジェクトタンゴを使った動作中のVRの例を見るには、デモページ参照してください。