Mixed Reality アプリは、実際のオブジェクトのように見える ホログラム を世界に配置します。 これには、世界が物理的な部屋であるか、作成した仮想領域であるかに関係なく、これらのホログラムを世界の意味のある場所に正確に配置して向ける必要があります。 Windows には、ジオメトリを表現するためのさまざまな現実世界の座標系が用意されています。これらは 空間座標系と呼ばれます。 これらのシステムを使用して、ホログラムの位置、向き、 視線 、 または手の位置を推論できます。
デバイスのサポート
| 機能 | HoloLens (第 1 世代) | HoloLens 2 | イマーシブ ヘッドセット |
| 参照の固定フレーム | ✔️ | ✔️ | ✔️ |
| アタッチされた参照フレーム | ✔️ | ✔️ | ✔️ |
| 参照のステージ フレーム | まだサポートされていません | まだサポートされていません | ✔️ |
| 空間アンカー | ✔️ | ✔️ | ✔️ |
| 空間マッピング | ✔️ | ✔️ | ❌ |
| シーンの理解 | ❌ | ✔️ | ❌ |
Mixed Reality エクスペリエンススケール
ヘッドセットの向きを使用した 360 度のビデオ ビューアーから、空間マッピングと空間アンカーを使用した完全な世界規模のアプリやゲームまで、幅広いユーザー エクスペリエンス用に Mixed Reality アプリを設計できます。
| エクスペリエンススケール | 要件 | エクスペリエンスの例 |
|---|---|---|
| 向き専用 | ヘッドセットの向き (重力揃え) | 360° ビデオ ビューアー |
| シートスケール | 0 位置に基づく ヘッドセットの上 の位置 | レーシング ゲームまたはスペース シミュレーター |
| スタンディング スケール | 上記のプラス ステージフロアの原点 | あなたがアヒルとかわす場所でアクションゲーム |
| 部屋の規模 | ステージ境界の多角形の上 | パズルの周りを歩くパズルゲーム |
| 世界規模 | 空間アンカー (通常は 空間マッピング) | RoboRaid などの実際の壁から来る敵とのゲーム |
上記のエクスペリエンス スケールは、"入れ子になる人形" モデルに従います。 Windows Mixed Realityの主な設計原則は、特定のヘッドセットが、ターゲット エクスペリエンス スケールとより小さいスケール用に構築されたアプリをサポートすることです。
| 6DOF 追跡 | フロア定義 | 360° トラッキング | 定義された境界 | 空間アンカー | 最大エクスペリエンス |
|---|---|---|---|---|---|
| 不要 | - | - | - | - | 向き専用 |
| はい | いいえ | - | - | - | 座って |
| ○ | はい | いいえ | - | - | スタンディング - 前方 |
| ○ | ○ | はい | いいえ | - | スタンディング - 360° |
| ○ | ○ | ○ | はい | いいえ | Room |
| ○ | ○ | ○ | ○ | はい | 世界 |
参照のステージ フレームは、HoloLens ではまだサポートされていません。 HoloLens の会議室規模のアプリでは、現在、 空間マッピング または シーン理解 を使用して、ユーザーの床と壁を見つける必要があります。
空間座標系
すべての 3D グラフィックス アプリケーションでは 、デカルト座標系を 使用して、仮想オブジェクトの位置と向きを推論します。 これらの座標系は、X、Y、Z の 3 つの垂直軸を確立します。シーンに追加する各オブジェクトは、その座標系で XYZ 位置を持ちます。 Windows は、物理的な世界で実際の意味を持つ座標系を 空間 座標系と呼び、その座標値をメートル単位で表します。 つまり、X 軸、Y 軸、Z 軸のいずれかに 2 つの単位を配置したオブジェクトは、Mixed Reality でレンダリングされるときに、互いに 2 メートル離れて表示されます。 これを知ることで、実際のスケールでオブジェクトや環境を簡単にレンダリングできます。
一般に、デカルト座標系は、XYZ 軸の方向を示すために手の位置を使用できるため、"右利き" または "左利き" と呼ばれます。 どちらの座標系でも、正の X 軸は右を指し、正の Y 軸は上を指します。 2 つの違いは、右側の座標系では Z 軸が 自分を指 し示し、左利きの座標系では Z 軸が自分から 離れている 点です。
Windows 上の空間座標系 (したがって、Windows Mixed Reality) は常に右利きです。
[!注]
- Unityと Unreal では、左利きの座標系が使用されます。
- 左利き座標と右利きの座標は最も一般的なシステムですが、3D ソフトウェアで使用される他の座標系があります。 たとえば、3D モデリング アプリケーションで、Y 軸がビューアーの方または離れた位置を指し、Z 軸が上を指す座標系を使用することは珍しくありません。
向き専用またはシートスケールのエクスペリエンスの構築
ホログラフィック レンダリング の鍵は、ユーザーが動き回るたびに、アプリのホログラムのビューを、予測されたヘッド モーションに合わせて変更することです。 固定された参照フレームを使用して、ユーザーの頭の位置と頭の向きの変更を考慮して、座ったスケールのエクスペリエンスを構築できます。
一部のコンテンツでは、ヘッド位置の更新を無視する必要があり、選択した見出しとユーザーからの距離を常に固定する必要があります。 主な例は 360 度のビデオです。ビデオは 1 つの固定パースペクティブからキャプチャされるため、ユーザーが見回すにつれてビューの向きが変化しても、コンテンツに基づいてビューの位置が移動する錯覚が損なわれます。 アタッチされた参照フレームを使用して、このような向き専用のエクスペリエンスを構築できます。
参照の固定フレーム
固定参照フレームによって提供される座標系は、ユーザーの頭部位置の変化を考慮しながら、世界に基づいて、ユーザーの近くのオブジェクトの位置を可能な限り安定した状態に保つために機能します。
Unityなどのゲーム エンジンの座り込みスケール エクスペリエンスの場合、エンジンの "ワールドオリジン" を定義するのは、静止した参照フレームです。特定のワールド座標に配置されたオブジェクトは、静止した参照フレームを使用して、同じ座標を使用して現実世界での位置を定義します。 ユーザーが歩き回っても世界に置かれたままのコンテンツは、 ワールドロックされた コンテンツと呼ばれます。
通常、アプリは起動時に 1 つの固定参照フレームを作成し、アプリの有効期間を通じてその座標系を使用します。 Unityのアプリ開発者は、ユーザーの頭の最初の位置と向きにある配信元に基づいてコンテンツの配置を開始できます。 ユーザーが新しい場所に移動し、シートスケールのエクスペリエンスを継続したい場合は、その場所で世界の起源を最新の情報に更新できます。
時間が経つにつれて、システムはユーザーの環境について詳しく学習するにつれて、現実世界のさまざまなポイント間の距離が、以前に考えられていたシステムよりも短いか長いかを判断する可能性があります。 HoloLens でアプリの参照の固定フレームでホログラムをレンダリングすると、ユーザーが幅約 5 メートルの領域を超えてさまよう場合、アプリは、それらのホログラムの観察された場所でドリフトを観察する可能性があります。 エクスペリエンスでユーザーが 5 メートルを超えてさまよっている場合は、次に説明するように、ホログラムを安定させるために他の手法が必要になる、 世界規模のエクスペリエンスを構築しています。
アタッチされた参照フレーム
アタッチされた参照フレームは、ユーザーが歩き回るときに移動し、アプリが最初にフレームを作成するときに固定の見出しが定義されます。 これにより、ユーザーはその参照フレーム内に配置されたコンテンツを快適に見渡すことができます。 このユーザー相対方法でレンダリングされるコンテンツは、 本文ロック コンテンツ と呼ばれます。
ヘッドセットがワールド内のどこにあるかを把握できない場合、アタッチされた参照フレームは、ホログラムのレンダリングに使用できる唯一の座標系を提供します。 これにより、フォールバック UI を表示して、デバイスが世界で見つからないことをユーザーに伝えるのに最適です。 シートスケール以上のアプリには、Mixed Realityホームに表示されているのと同様の UI を使用して、ユーザーが再び進むのに役立つ向き専用フォールバックを含める必要があります。
スタンディングスケールまたはルームスケールのエクスペリエンスを構築する
イマーシブ ヘッドセットの着席スケールを超えて 、スタンディング スケールエクスペリエンスを構築するには、 参照のステージ フレームを使用できます。
会議室規模のエクスペリエンスを提供し、ユーザーが事前に定義した 5 メートルの境界内を歩き回るようにするには、ステージ境界のチェックすることもできます。
参照のステージ フレーム
最初にイマーシブ ヘッドセットを設定するとき、ユーザーは 、Mixed Reality を体験する部屋を表すステージを定義します。 ステージは、デバイスを使用するユーザーが選択したフロア位置と前方方向を中心とした空間座標系である ステージの原点を最小限に定義します。 このステージ座標系のコンテンツを Y=0 フロア プレーンに配置することで、ユーザーが立っているときにホログラムをフロアに快適に表示し、ユーザーに スタンディング スケールのエクスペリエンスを提供できます。
ステージ境界
また、ユーザーは必要に応じて、Mixed Reality で移動するためにクリアした部屋内の領域である ステージ境界を定義することもできます。 その場合、アプリは、これらの境界を使用して、ユーザーが到達できる場所に常にホログラムが配置されるように、 部屋規模のエクスペリエンスを構築できます。
基準のステージ フレームは、フロア相対コンテンツを配置する 1 つの固定座標系を提供するため、仮想現実ヘッドセット用に開発されたスタンディング スケールおよびルーム スケール アプリケーションを移植するための最も簡単なパスです。 ただし、これらの VR プラットフォームと同様に、1 つの座標系でコンテンツを安定させるのは直径約 5 メートル (16 フィート) です。レバー アームの効果により、システムが調整されると、中央から遠く離れたコンテンツが顕著にシフトします。 5 メートルを超える場合は、空間アンカーが必要です。
世界規模のエクスペリエンスを構築する
HoloLens を使用すると、ユーザーが 5 メートルを超えてさまよう真 の世界規模のエクスペリエンス を実現できます。 世界規模のアプリを構築するには、部屋規模のエクスペリエンスに使用される手法を超えた新しい手法が必要です。
1 つの剛体座標系を 5 メートルを超えて使用できない理由
現在、ゲーム、データ視覚化アプリ、または仮想現実アプリを作成する場合、一般的な方法は、他のすべての座標が確実にマップバックできる 1 つの絶対世界座標系を確立することです。 その環境では、そのワールド内の任意の 2 つのオブジェクト間のリレーションシップを定義する安定した変換を常に見つけることができます。 これらのオブジェクトを移動しなかった場合、それらの相対変換は常に同じままです。 この種のグローバル座標系は、すべてのジオメトリを事前に把握している純粋な仮想世界をレンダリングする場合に適切に機能します。 現在の会議室規模の VR アプリでは、通常、この種の絶対的な部屋スケール座標系が確立され、その原点がフロアに設定されています。
対照的に、HoloLens などの非接続の Mixed Reality デバイスは、センサーによる動的な世界の理解を持ち、建物の床全体を何メートルも歩きながら、ユーザーの周囲の時間の経過に伴ってその知識を継続的に調整します。 ワールド 規模のエクスペリエンスでは、すべてのホログラムを 1 つの剛体座標系に配置した場合、これらのホログラムは、必ずしも、ワールドに基づいて、または相互に、時間の経過と同時にドリフトします。
たとえば、ヘッドセットは現在、世界の 2 つの場所が 4 メートル離れていると考え、その後、その場所が実際には 3.9 メートル離れていることを学習して、その理解を深めます。 これらのホログラムが最初に 1 つの剛体座標系で 4 メートル離れて配置されていた場合、そのうちの 1 つは常に現実世界から 0.1 メートル離れて表示されます。
空間アンカー
Windows Mixed Realityは、ユーザーがホログラムを配置した世界の重要なポイントをマークする空間アンカーを作成できるようにすることで、前のセクションで説明した問題を解決します。 空間アンカーは、システムが時間の経過と同時に追跡する必要がある、世界の重要なポイントを表します。
デバイスが世界について学習すると、これらの空間アンカーは、各アンカーが現実世界に基づいて配置された場所に正確に留まるよう、必要に応じて互いに基づいて位置を調整できます。 ユーザーがホログラムを配置する場所に空間アンカーを配置し、その空間アンカーに基づいてホログラムを配置することで、ユーザーが数十メートルにわたってローミングする場合でも、ホログラムが最適な安定性を維持するようにすることができます。
相互に基づく空間アンカーのこの継続的な調整は、空間アンカーと静止参照フレームからの座標系の主な違いです。
参照の固定フレームに配置されたホログラムはすべて、互いに剛直な関係を保ちます。 ただし、ユーザーが長距離を歩くと、そのフレームの座標系がワールドに基づいてドリフトし、ユーザーの横のホログラムが安定して表示されるようにすることができます。
参照のステージ フレームに配置されたホログラムも、相互に剛直な関係を維持します。 固定フレームとは対照的に、ステージ フレームは、定義された物理的な原点に基づいて常に固定されたままになります。 ただし、5 メートル境界を超えてステージの座標系でレンダリングされたコンテンツは、ユーザーがその境界内に立っている間にのみ安定して表示されます。
1 つの空間アンカーを使用して配置されたホログラムは、別の空間アンカーを使用して配置されたホログラムに基づいてドリフトする可能性があります。 これにより、たとえば、1 つのアンカーが左に調整する必要があり、別のアンカーが右に調整する必要がある場合でも、Windows は各空間アンカーの位置の理解を向上させることができます。
常にユーザーの近くの安定性を最適化する固定参照フレームとは対照的に、基準と空間アンカーのステージ フレームは、原点付近の安定性を確保します。 これは、これらのホログラムが時間の経過と同時に正確に配置され続けるのに役立ちますが、また、座標系の原点から遠く離れてレンダリングされたホログラムでは、レバーアーム効果がますます深刻になります。 これは、ステージまたはアンカーの位置と向きを小さく調整すると、そのアンカーからの距離に比例して拡大されるためです。
経験則として、離れた空間アンカーの座標系に基づいてレンダリングするものが、その原点から約 3 メートル以内にあることを確認することをお勧めします。 近くのステージの配信元の場合、位置指定エラーの増加は、ユーザーのビューであまりシフトしない小さなホログラムにのみ影響を与えるので、遠くのコンテンツをレンダリングしても問題ありません。
空間アンカーの永続化
空間アンカーを使用すると、アプリが一時停止した後やデバイスがシャットダウンされた後でも、重要な場所をアプリで記憶することもできます。
保存して、アプリが作成した空間アンカーをディスクに保存し、後でアプリの 空間アンカー ストアに保持することで、再び読み込むことができます。 アンカーを保存または読み込むときに、後でアンカーを識別するために、アプリにとって意味のある文字列キーを指定します。 このキーはアンカーのファイル名と考えてください。 ユーザーがその場所に配置した 3D モデルなど、他のデータをそのアンカーに関連付ける場合は、それをアプリのローカル ストレージに保存し、選択したキーに関連付けます。
ストアにアンカーを保持することで、ユーザーは個々のホログラムを配置したり、アプリがさまざまなホログラムを配置するワークスペースを配置したり、後でアプリの多くの用途でホログラムを見つけたりすることができます。
ヘッドロックされたコンテンツを回避する
ヘッドロックされたコンテンツを表示することは強くお勧めします。これは、ディスプレイの固定された場所 (HUD など) に留まります。 一般に、ヘッドロックされたコンテンツはユーザーにとって不快であり、自分の世界の自然な部分のようには感じません。
通常、ヘッドロックされたコンテンツは、ユーザーにアタッチされているか、ワールド自体に配置されるホログラムに置き換える必要があります。 たとえば、 カーソル は一般にワールドにプッシュし、ユーザーの視線入力下にあるオブジェクトの位置と距離を反映するように自然にスケーリングする必要があります。
追跡エラーの処理
暗い廊下などの一部の環境では、インサイドアウト追跡を使用するヘッドセットが世界で正しく見つからない場合があります。 これにより、ホログラムが表示されないか、誤って処理された場合に正しくない場所に表示される可能性があります。 ここでは、これが発生する可能性がある条件、ユーザー エクスペリエンスへの影響、およびこの状況を最も適切に処理するためのヒントについて説明します。
センサー データが不足しているため、ヘッドセットが追跡できない
ヘッドセットのセンサーがヘッドセットの場所を把握できない場合があります。 これは、次の場合に発生する可能性があります。
- 部屋が暗い
- センサーが髪や手で覆われている場合
- 周囲に十分なテクスチャがない場合。
この場合、ヘッドセットはワールド ロックホログラムをレンダリングするのに十分な精度でその位置を追跡できません。 空間アンカー、固定フレーム、またはステージ フレームがデバイスに基づいている場所を把握できません。 ただし、アタッチされた参照フレームに本文ロックされたコンテンツをレンダリングすることはできます。
アプリでは、位置追跡を元に戻す方法をユーザーに伝え、センサーの検出やライトの点灯など、いくつかのヒントを説明するフォールバックの本文ロック コンテンツをレンダリングする必要があります。
環境の動的な変更により、ヘッドセットが誤って追跡される
多くの人が部屋の中を歩き回るなど、環境に多くの動的変更がある場合、デバイスは適切に追跡できません。 この場合、デバイスがこの動的環境で自身を追跡しようとすると、ホログラムがジャンプまたはドリフトしているように見える場合があります。 このシナリオに達した場合は、あまり動的でない環境でデバイスを使用することをお勧めします。
環境が時間の経過と同時に大幅に変化したため、ヘッドセットが誤って追跡される
家具や壁掛けなどが移動された環境でヘッドセットの使用を開始すると、一部のホログラムが元の場所からずれている可能性があります。 以前のホログラムは、ユーザーが新しいスペース内を移動すると、システムのスペースに対する理解が正しくなくなったため、飛び回る可能性もあります。 その後、システムは環境の再マップを試み、同時に部屋の機能の調整も試みます。 このシナリオでは、ユーザーが予期した場所に表示されない場合は、世界でピン留めされたホログラムを置き換えることを推奨することをお勧めします。
環境内の同一のスペースが原因でヘッドセットが誤って追跡される
場合によっては、自宅やその他のスペースに 2 つの同じ領域が含まれる場合があります。 たとえば、2 つの同一の会議室、2 つの同一のコーナー領域、デバイスの視野をカバーする 2 つの大きな同一のポスターなどです。 このようなシナリオでは、デバイスは、時には、同じ部分の間で混乱し、内部表現で同じとしてマークすることがあります。 これにより、一部の領域のホログラムが他の場所に表示される可能性があります。 デバイスは、環境の内部表現が破損しているため、頻繁に追跡を失い始める可能性があります。 この場合は、システムの環境理解をリセットすることをお勧めします。 マップをリセットすると、すべての空間アンカー配置が失われます。 これにより、ヘッドセットは環境の固有の領域でよく追跡されます。 ただし、デバイスが同じ領域間で再び混乱すると、問題が再発する可能性があります。