座標系

その中核となるのは、mixed reality アプリのように、世界中に ホログラム を配置します。 これには、世界中の有意義な場所でそれらのホログラムを正確に配置し、向きを調整する必要があります。 Windows には、 空間座標系 と呼ばれるジオメトリを表現するためのさまざまな現実世界の座標系が用意されています。 空間座標系を使用して、ホログラムの位置、向き、 宝石 、または の位置についての理由を確認できます。


デバイス サポート

機能 HoloLens (第 1 世代) HoloLens 2 イマーシブ ヘッドセット
静止フレーム (参照) ✔️ ✔️ ✔️
アタッチされた参照のフレーム ✔️ ✔️ ✔️
参照のステージフレーム まだサポートされていません まだサポートされていません ✔️
空間アンカー ✔️ ✔️ ✔️
空間マッピング ✔️ ✔️
シーンの理解 ✔️

Mixed reality エクスペリエンススケール

さまざまなユーザーエクスペリエンス向けに Mixed reality アプリを設計できます。これには、ヘッドセットの向きを使用した360度のビデオビューアーから、空間マッピングと空間アンカーを使用した世界規模のアプリやゲームまで、多岐に立ちます。


エクスペリエンススケール 必要条件 エクスペリエンスの例
方向のみ ヘッドセットの向き (重力固定) 360°ビデオビューアー
固定-スケール 上に0位置に基づく ヘッドセット位置 レースゲームまたは宇宙シミュレーター
継続的なスケール 上と ステージフロアの原点 アヒルと覆い焼きを行うアクションゲーム
部屋-スケール 上と ステージの境界多角形 パズルゲームでパズルを見てみましょう
世界規模 空間アンカー (および通常は 空間マッピング) RoboRaidなどの実際の壁から来た敵のゲーム

上のエクスペリエンススケールは、"入れ子の人形" モデルに従います。 Windows Mixed Reality の主要な設計原則は、特定のヘッドセットで、ターゲットエクスペリエンススケール用に構築されたアプリと、それ以外のすべてのスケールをサポートします。


6自由度追跡 定義されたフロア 360°の追跡 定義された境界 空間アンカー 最大エクスペリエンス
いいえ - - - - 方向のみ
はい いいえ - - - 固定
はい はい いいえ - - 今後
はい はい はい いいえ - 360°
はい はい はい はい いいえ ルーム
はい はい はい はい はい World

参照のステージフレームは、HoloLens ではまだサポートされていません。 現在、HoloLens の部屋規模のアプリでは、 空間マッピング または シーンの理解 を使用して、ユーザーのフロアと壁面を見つける必要があります。

空間座標系

すべての3D グラフィックスアプリケーションは、 デカルト座標系 を使用して、仮想オブジェクトの位置と方向を理解します。 これらの座標系は、オブジェクトの位置を表す3つの垂直軸 (X、Y、Z 軸) を確立します。

混合現実では、アプリは仮想および物理座標系に関するものです。 Windows は、物理的な世界で 空間座標系 の真の意味を持つ座標系を呼び出します。

空間座標系は、座標の値をメートル単位で表します。 つまり、X 軸、Y 軸、または Z 軸の2つの単位を離れた位置に配置されたオブジェクトは、混合現実でレンダリングされると、2つのメーターが相互に分割されます。 これを理解することで、実際のスケールでオブジェクトと環境を簡単にレンダリングできるようになります。

一般に、デカルト座標系は、右ききまたは左ききにすることができます。 Windows 上の空間座標系は常に右辺になります。つまり、正の X 軸が右に、正の Y 軸が上に向かって (重力に沿って)、正の Z 軸がポイントすることを意味します。

どちらの種類の座標系でも、正の X 軸は右を指し、正の Y 軸は上をポイントします。 違いは、正の Z 軸が手前に表示されるか、または離れているかです。 正の X 方向の左側または右側の指をポイントし、正の Y 方向に curling することによって、正の Z 軸の方向を記憶します。 Thumb が指す方向は、その座標系に対して、正の Z 軸が指す方向になります。

向きのみまたは取り付けられたスケールエクスペリエンスの構築

Holographic レンダリング の鍵となるのは、ユーザーが移動するたびに、各フレームのホログラムのアプリのビューを変更することです。 固定された スケールのエクスペリエンス を構築できます。これは、 参照の静止フレーム を使用して、ユーザーのヘッド位置とヘッドの向きに対する変更を反映します。

一部のコンテンツでは、ヘッド位置の更新を無視し、選択した見出しとユーザーからの距離を常に固定する必要があります。 主な例は、360度のビデオです。ビデオは1つの固定されたパースペクティブからキャプチャされるため、ユーザーが見たようにビューの向きが変化する場合でも、ビューの位置がコンテンツに基づいて移動する錯覚を無駄にする可能性があります。 このような 向き専用のエクスペリエンス は、 関連付けられている参照のフレーム を使用して構築できます。

静止フレーム (参照)

静止した参照フレームによって提供される座標系は、ユーザーの位置の変更を考慮しながら、ユーザーの近くにあるオブジェクトの位置を可能な限り安定した状態に保つために機能します。

Unityなどのゲームエンジンでの動作が固定されている場合、そのエンジンの "世界の出発点" を定義するのが静止した参照フレームです。 特定のワールド座標に配置されたオブジェクトは、その同じ座標を使用して、実際の環境内での位置を定義するために、参照の静止フレームを使用します。 ユーザーの手順に関係なく、世界中のコンテンツは、世界中に ロック されたコンテンツとして知られています。

通常、アプリは起動時に1つの静止フレームを作成し、アプリの有効期間全体にわたってその座標系を使用します。 Unity のアプリ開発者は、元の場所に基づいてコンテンツの配置を開始するだけで済みます。これは、ユーザーの最初の位置と向きになります。 ユーザーが新しい場所に移動したときに、配置されたスケールエクスペリエンスを継続する必要がある場合は、その場所にある世界 recenter をすることができます。

時間の経過と共に、システムがユーザーの環境についてさらに詳しく学習すると、現実世界のさまざまな地点間の距離が、以前のシステムよりも短いか長いかが判断される可能性があります。 ユーザーが5メートル幅の範囲を超えている場合に、HoloLens のアプリに対する参照の静止フレームでホログラムをレンダリングすると、アプリはそれらのホログラムの観測された場所で誤差を観察することがあります。 ユーザーが 5 m を超える公を経験している場合、 世界規模のエクスペリエンスを構築しています。そのためには、次に示すように、ホログラムを安定させるために他の手法が必要になります。

アタッチされた参照のフレーム

アタッチされている参照のフレームはユーザーと共に移動します。固定の見出しは、アプリが最初にフレームを作成したときに定義されます。 これにより、その参照フレーム内に配置されたコンテンツをユーザーが見やすいようになります。 このユーザーに対して相対的な方法でレンダリングされるコンテンツは 、本文ロック されたコンテンツと呼ばれます。

ヘッドセットが世界中のどこにあるかを判断できない場合、関連付けられている参照のフレームは、ホログラムをレンダリングするために使用できる座標系のみを提供します。 これにより、デバイスが世界中では検出できないことをユーザーに通知するフォールバック UI を表示するのに最適です。 拡大/縮小されたアプリには、ユーザーの再実行を支援する方向専用のフォールバックを含める必要があります。これは、 Mixed Reality ホームに示されている UI と似ています。

大規模または部屋規模のエクスペリエンスを構築する

イマーシブヘッドセットでの拡大/縮小を実現し、継続的な スケールエクスペリエンス を構築するには、 参照のステージフレーム を使用できます。

ルームスケールエクスペリエンス を提供するために、事前に定義された5メートルの境界内にユーザーが移動できるようにするには、ステージの境界 も確認します。

参照のステージフレーム

イマーシブヘッドセットを最初に設定すると、ユーザーは、混合現実を経験する部屋を表す ステージ を定義します。 ステージでは、 ステージの原点 を最小に定義します。これは、ユーザーの選択したフロア位置と、デバイスを使用することを目的とした前方向きを中心とした空間座標システムです。 このステージ座標系にコンテンツを Y = 0 階平面に配置することにより、ユーザーがいても、ユーザーが継続的に スケールできるエクスペリエンス を提供するようにすることができます。

ステージの境界

ユーザーは、必要に応じて、混合現実に移動するために消去した部屋内の領域である ステージの境界 を定義することもできます。 その場合、アプリはこれらの境界を使用して ルームスケールエクスペリエンス を構築し、ユーザーがどこにでもホログラムを配置できるようにすることができます。

参照のステージフレームでは、フロア相対コンテンツを配置する1つの固定座標系が提供されるため、仮想現実のヘッドセット用に開発された、継続的なスケールのアプリケーションを移植するための最も簡単なパスです。 ただし、このような VR プラットフォームと同様に、1つの座標系は、5メートル (16 フィート) の直径でコンテンツを安定化させることができます。これにより、システムの調整に応じて、中央から離れた位置にあるコンテンツが中心から変化するようになります。 5つのメーターを超えるようにするには、空間アンカーが必要です。

世界規模でのエクスペリエンスの構築

HoloLens を使用すると、ユーザーが5メートルを超える位置にある真の ワールドスケールエクスペリエンス を実現できます。 世界規模のアプリを構築するには、ルームスケールエクスペリエンスに使用されるもの以外の新しい手法が必要になります。

1つの固定座標系が 5 m を超えて使用できないのはなぜですか。

現在、ゲーム、データ可視化アプリ、または virtual reality アプリを作成する場合、一般的な方法は、他のすべての座標が確実にに戻すことができる絶対ワールド座標系を確立することです。 その環境では、その世界の任意の2つのオブジェクト間の関係を定義する安定した変換をいつでも見つけることができます。 これらのオブジェクトを移動しなかった場合、それらの相対変換は常に同じままになります。 この種のグローバル座標系は、すべてのジオメトリが事前にわかっている純粋な仮想環境をレンダリングする場合に適しています。 現在、部屋規模の VR アプリケーションでは、通常、このような絶対部屋規模の座標系をフロア上の原点と共に確立します。

これに対し、HoloLens などのならでは mixed reality デバイスは、世界に対して動的なセンサーによる認識を持ち、ビルの全フロアにわたってさまざまなメーターを調べるために、ユーザーの環境の時間にわたってその知識を継続的に調整します。 世界規模の環境では、すべてのホログラムを1つの固定座標系に配置した場合、それらのホログラムは常に世界または相互に基づいて時間の経過と共に変化します。

たとえば、ヘッドセットは、現在、世界中の2つの場所が4メートル離れていると考えられます。その後、その位置が実際には3.9 メートル離れていることを理解してください。 1つの固定された座標系に最初に4メートルが配置されていた場合、そのうちの1つは、常に実際の世界から0.1 のメーターをオフにします。

空間アンカー

Windows Mixed Reality は、前のセクションで説明した問題を解決します。これにより、ユーザーがホログラムを配置した世界の重要なポイントをマークする 空間アンカー を作成できるようになります。 空間アンカーは、システムが長期的に追跡する必要がある、ワールド内の重要な点を表します。

デバイスが世界について学習するときに、これらの空間アンカーは、各アンカーが実際の環境に基づいて配置された場所を正確に保つために必要に応じて、それぞれの位置を相互に調整できます。 ユーザーがホログラムを配置した場所に空間アンカーを配置した後、空間アンカーに基づいてそのホログラムを配置することで、ユーザーが数十のメーターを移動しても、ホログラムが最適な安定性を維持できるようにすることができます。

空間アンカーを相互に調整するこの継続的な調整は、空間アンカーと、参照の静止フレームからの座標系の主な違いです。

  • すべての静止フレームに配置されたホログラムは、互いに固定されています。 ただし、ユーザーの距離が長いと、ユーザーの横にあるホログラムが安定していることを確認するために、そのフレームの座標系が世界に応じて変わる可能性があります。

  • また、ステージ内に配置されたホログラムは、相互に剛体リレーションシップも維持します。 静止フレームとは対照的に、ステージフレームは、定義されている物理的な原点に基づいて常に固定されたままです。 ただし、ステージの座標系に5メートルの境界を超えるコンテンツがレンダリングされるのは、ユーザーがその境界内にある間のみ安定していることです。

  • 1つの空間アンカーを使用して配置されたホログラムは、別の空間アンカーを使用して配置されたホログラムに基づいてずれます。 これにより、Windows は各空間アンカーの位置を理解しやすくなります。たとえば、1つのアンカーを左に調整する必要があり、別のアンカーが右に調整する必要がある場合でも同様です。

ユーザーの近くの安定性を確保するために常に最適化されている、静止した参照フレームとは対照的に、参照のステージフレームと空間アンカーは、オリジンの近くに安定性を確保します。 このようにすると、これらのホログラムは時間の経過と共に正確に配置されますが、座標系の原点から離れすぎているホログラムによって、より重大なレバー arm 効果が発生することもあります。 これは、ステージまたはアンカーの位置と向きに対する小さな調整が、そのアンカーからの距離に比例して拡大されるためです。

経験則として、遠くの空間アンカーの座標系に基づいてレンダリングしたものが、原点の約3メートル以内であることを確認することをお勧めします。 位置指定エラーが増加しても、ユーザーのビューではあまり変化しない小さなホログラムにのみ影響するため、近くのステージオリジンの場合は、遠くのコンテンツをレンダリングすることができます。

空間アンカーの永続性

空間アンカーでは、アプリが中断した後やデバイスがシャットダウンされた後でも、アプリが重要な場所を記憶できるようにすることもできます。

アプリによって作成された空間アンカーをディスクに保存し、後で再度読み込んで、アプリの 空間アンカーストア に保持することができます。 アンカーを保存または読み込むときは、後でアンカーを識別するために、アプリに意味のある文字列キーを指定します。 このキーはアンカーのファイル名と考えることができます。 ユーザーがその場所に配置した3D モデルなど、他のデータをそのアンカーと関連付けるには、そのデータをアプリのローカルストレージに保存し、選択したキーに関連付けます。

ストアにアンカーを保持することで、ユーザーは個々のホログラムを配置したり、アプリがさまざまなホログラムを配置するワークスペースを配置したりできます。また、アプリの多くの使用において、これらのホログラムを予想される場所で探すことができます。

Azure 空間アンカーを使用して、HoloLens、iOS、および Android デバイス間での非同期ホログラム永続化を行うこともできます。 持続性のあるクラウド空間アンカーを共有することにより、複数のデバイスが同時に存在しない場合でも、同じ永続化されたホログラムを時間の経過とともに観察できます。

空間アンカーの共有

アプリでは、空間アンカーを他のデバイスとリアルタイムで共有することもできます。これにより、リアルタイムの共有エクスペリエンスが可能になります。

Azure 空間アンカーを使用すると、アプリは複数の HoloLens、iOS、および Android デバイス間で空間アンカーを共有できます。 各デバイスで同じ空間アンカーを使用してホログラムをレンダリングすると、現実世界の同じ場所ですべてのユーザーがホログラムを見ることができます。

ヘッドロックされたコンテンツを避ける

ヘッドロックされたコンテンツをレンダリングすることを強くお勧めします。これは、ディスプレイの固定位置 (HUD など) にとどまります。 一般に、ヘッドロックされたコンテンツはユーザーにとって不快であり、世界の自然な部分には見えません。

ヘッドロックされたコンテンツは、通常、ユーザーにアタッチされているか、世界中に配置されているホログラムに置き換える必要があります。 たとえば、 カーソル は一般に世界にプッシュされる必要があり、ユーザーの見つめにあるオブジェクトの位置と距離を反映するように自然にスケーリングします。

追跡エラーの処理

ダーク廊下などの一部の環境では、内部でのアウトトラッキングを使用して、ヘッドセットが自身を正しく見つけることができない場合があります。 これにより、正しく処理されなかった場合に、ホログラムが表示されないか、正しくない場所に表示される可能性があります。 ここでは、これが発生する可能性のある条件、ユーザーエクスペリエンスへの影響、およびこの状況に最適に対処するためのヒントについて説明します。

センサーデータが不足しているため、ヘッドセットが追跡できません

ヘッドセットのセンサーがヘッドセットの場所を特定できないことがあります。 これは次の場合に発生する可能性があります。

  • 部屋が濃い
  • センサーがヘアまたはハンドでカバーされている場合
  • 周囲のテクスチャが十分でない場合。

この場合、ヘッドセットは、世界中にロックされているホログラムをレンダリングするために十分な精度で位置を追跡することができません。 空間アンカー、静止フレーム、またはステージフレームがデバイスに基づいている場所を判断することはできません。 ただし、本文でロックされているコンテンツを、関連付けられている参照フレームにレンダリングすることはできます。

アプリでは、位置追跡を取得する方法をユーザーに伝える必要があります。これにより、センサーを明らかにしたり、より多くのライトをオンにしたりするなど、いくつかのヒントを説明するフォールバックボディロックコンテンツを表示できます。

環境の動的な変更により、ヘッドセットの追跡が正しく行われない

多くのスタッフが部屋にいるなど、環境に動的な変更が多数ある場合、デバイスは適切に追跡できません。 この場合、デバイスがこの動的な環境で自身を追跡しようとしたときに、ホログラムがジャンプまたはドリフトするように見えることがあります。 このシナリオに達した場合は、比較的動的な環境でデバイスを使用することをお勧めします。

環境が時間の経過と共に大幅に変更されたため、ヘッドセットの追跡が正しく行われない

家具や壁 hangings などが移動された環境でヘッドセットの使用を開始すると、一部のホログラムが元の場所から移動される可能性があります。 システムの領域についての理解が不要になったため、ユーザーが新しい領域内を移動すると、前のホログラムも移動することがあります。 次に、システムは、ルームの機能を調整しながら、環境の再マップを試みます。 このシナリオでは、ユーザーが必要な場所に表示されていない場合、世界中にピン留めされたホログラムを置き換えるように促すことをお勧めします。

環境内の同じスペースが原因でヘッドセットの追跡が正しく行われない

場合によっては、自宅またはその他の領域に2つの同一領域が存在することがあります。 たとえば、2つの同一の会議室、2つの同じコーナー領域、デバイスのビューのフィールドに対応する2つの大きな同じポスターです。 このようなシナリオでは、デバイスが同一の部分を混同し、内部表現で同じようにマークすることがあります。 これにより、一部の領域からのホログラムが他の場所に表示される可能性があります。 環境の内部表現が破損しているため、デバイスの追跡が頻繁に失われることがあります。 この場合は、システムの環境の理解をリセットすることをお勧めします。 マップをリセットすると、すべての空間アンカーの配置が失われます。 これにより、ヘッドセットは環境の一意の領域で適切に追跡されます。 ただし、同一の領域間でデバイスが混同されると、問題が再発する可能性があります。

関連項目