Open Shiraishi-Shodai opened 1 week ago
ARビューによってレンダリングされるエンティティのコレクションを保持するコンテナ。
デバイスに追跡させたい空間上の特定の点のこと オブジェクトの位置と向きを空間内で固定する。 アンカーにはローカルアンカー、Cloud Anchors、地理空間アンカーがある。
アンカーを作成する際は、現在のフレームのワールド空間の推定値を基準とする位置と向きを表すポーズを使用します。 このアンカーには、1 つ以上のオブジェクトを取り付けます。アンカーとそれに接続されているオブジェクトは、ワールド内の同じ位置に留まるように見えます。アンカーのポーズが各フレームのワールド空間の更新に適応するため、それに応じてオブジェクトのポーズが更新されます。 複数のオブジェクトを同じアンカーにアタッチすると、アンカーのポーズが調整されても、オブジェクトの相対的な位置と向きを維持できます。
3Dコンテンツを現実世界の特定の位置に配置できるARのアンカーの一種
画像情報を利用した位置特定システム。向きや方位を含む位置情報を取得できる。マーカーが不要。GPSよりも正確 VPSとは?高品質なAR体験を実現するVPSの仕組みと活用事例~ソニーのVPSを活用~
ARCore Geospatial APIを使用すると、Googleストリートビューでカバーされている任意のエリアにコンテンツをリモートでアタッチし、世界規模でAR体験を作成することができます。 デバイスのセンサーとGPSデータを使用してデバイスの環境を検出し、その環境の認識可能な部分をGoogleのVPS(Visual Positioning System)が提供するローカリゼーションモデルにマッチングさせて、ユーザーのデバイスの正確な位置を特定します。 このAPIはまた、ユーザーのローカル座標とVPSからの地理座標をマージし、単一の座標系で作業できるようにします。 ユーザーのデバイスがGeospatial APIにリクエストを出すと、ニューラルネットワークがピクセルを処理して、ユーザーの環境の認識可能な部分を見つけ、VPSのローカリゼーション・モデルと照合する。 その後、コンピュータ・ビジョン・アルゴリズムがデバイスの位置と向きを計算し、これまでGPSだけで可能だったものよりはるかに正確な位置情報を提供します。 Geospatial APIは、WGS84仕様に従ってアンカーの水平位置(緯度経度)と垂直位置(高度)を提供する。 Geospatialアンカーは、指定された緯度、経度、高度であれば、手動で地図を作成することなく、世界中のほぼどこにでも配置することができます。
ARCore Geospatial API: 緯度、経度、高度(WGS84座標系)を使用します。緯度と経度は度単位、高度はメートル単位 viro-react: 3D空間の座標系(x, y, z)を使用します。すべてメートル単位 座標の変換
Geospatial APIとViro-reactの座標系には以下のような主な違いがあります:
Geospatial API: 地理座標系(緯度、経度、高度)を使用します。これは地球上の位置を表すのに適しています[1]。
Viro-react: 3次元直交座標系(x, y, z)を使用します。これは3D空間内のオブジェクトの位置を表すのに適しています。
Geospatial API: 緯度と経度は度単位、高度はメートル単位で表されます。
Viro-react: すべての軸がメートル単位で表されます(ただし、スケールは調整可能)。
Geospatial API: 原点は地球の中心にあり、緯度0度・経度0度が基準点となります。
Viro-react: ARシーンの開始点が原点(0, 0, 0)となり、通常はデバイスの初期位置に設定されます。
Geospatial API: 実世界のスケールを直接反映します。
Viro-react: ARシーン内のスケールは調整可能で、通常は実世界のスケールを縮小して表現します。
Geospatial API: 高度は海面からの高さを表します[2]。
Viro-react: y軸が高さを表しますが、これは相対的な高さであり、ARシーンの原点からの距離を示します。
これらの違いにより、Geospatial APIで取得した座標をViro-reactで使用する際には適切な変換が必要となります。具体的には:
この変換により、実世界の位置情報をARシーン内の適切な位置に配置することが可能になります。
Citations: [1] https://zenn.dev/drumath2237/articles/c6c0241b9ba2ae [2] https://webar-lab.palanar.com/news/geospatial-api-terrain/ [3] https://www.esrij.com/gis-guide/coordinate-and-spatial/coordinate-system/ [4] https://note.com/st_one/n/n059ba08efb75 [5] https://www.mlit.go.jp/plateau/learning/tpc14-3/ [6] https://tech.fusic.co.jp/posts/2024-03-01-unity-arcore-geospatial-api/ [7] https://developers.google.com/ar/develop/java/geospatial/anchors?hl=ja [8] https://developers.google.com/ar/develop/ios/geospatial/anchors?hl=ja
オブジェクトを座標で固定する方法
2つの位置情報
ARCore Geospatial API を使用して、グローバル規模の臨場感あふれる位置情報ベースの AR エクスペリエンスを構築 Augmented Reality with React Native