座標系Coordinate systems

基本的には、mixed reality アプリは、実際のオブジェクトのように見えるように、世界中に ホログラム を配置します。At their core, mixed reality apps place holograms in your world that look and sound like real objects. これには、ユーザーにとって意味のある、世界中の場所でそれらのホログラムを正確に配置し、回転させる必要があります。This involves precisely positioning and orienting those holograms at places in the world that are meaningful to the user, whether the world is their physical room or a virtual realm you've created. ホログラムの位置と向き、または、 宝石の位置などのその他のジオメトリについての決定については、 空間座標系 と呼ばれるさまざまな現実世界の座標系が Windows に用意されています。When reasoning about the position and orientation of your holograms, or any other geometry such as the gaze ray or hand positions, Windows provides various real-world coordinate systems in which that geometry can be expressed, known as spatial coordinate systems.

デバイス サポートDevice support

機能Feature HoloLens (第 1 世代)HoloLens (1st gen) HoloLens 2HoloLens 2 イマーシブ ヘッドセットImmersive headsets
静止フレーム (参照)Stationary frame of reference ✔️✔️ ✔️✔️ ✔️✔️
アタッチされた参照のフレームAttached frame of reference ✔️✔️ ✔️✔️ ✔️✔️
参照のステージフレームStage frame of reference まだサポートされていませんNot supported yet まだサポートされていませんNot supported yet ✔️✔️
空間アンカーSpatial anchors ✔️✔️ ✔️✔️ ✔️✔️
空間マッピングSpatial mapping ✔️✔️ ✔️✔️
シーンの理解Scene understanding ✔️✔️

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

Mixed reality アプリは、ヘッドセットの向きだけを必要とする360度のビデオビューアーから、空間マッピングと空間アンカーを必要とする完全な世界規模のアプリとゲームまで、さまざまなユーザーエクスペリエンスを設計できます。Mixed reality apps can design for a broad range of user experiences, from 360-degree video viewers that just need the headset's orientation, to full world-scale apps and games, which need spatial mapping and spatial anchors:

エクスペリエンススケールExperience scale 必要条件Requirements エクスペリエンスの例Example experience
方向のみOrientation-only ヘッドセットの向き (重力固定)Headset orientation (gravity-aligned) 360°ビデオビューアー360° video viewer
固定-スケールSeated-scale 上、0位置に対する ヘッドセット位置Above, plus headset position relative to zero position レースゲームまたは宇宙シミュレーターRacing game or space simulator
継続的なスケールStanding-scale 上、さらに ステージフロアの原点Above, plus stage floor origin アヒルと覆い焼きを行うアクションゲームAction game where you duck and dodge in place
部屋-スケールRoom-scale 上、さらに ステージの境界多角形Above, plus stage bounds polygon パズルゲームでパズルを見てみましょうPuzzle game where you walk around the puzzle
世界規模World-scale 空間アンカー (および通常は 空間マッピング)Spatial anchors (and typically spatial mapping) RoboRaidなどの実際の壁から来た敵のゲームGame with enemies coming from your real walls, such as RoboRaid

これらのエクスペリエンススケールは、"入れ子の人形" モデルに従います。These experience scales follow a "nesting dolls" model. Windows Mixed Reality の主な設計原則は、特定のヘッドセットで、ターゲットエクスペリエンススケール用に構築されたアプリと、それ以外のすべてのスケールをサポートすることです。The key design principle here for Windows Mixed Reality is that a given headset supports apps built for a target experience scale, as well as all lesser scales:

6自由度追跡6DOF tracking 定義されたフロアFloor defined 360°の追跡360° tracking 定義された境界Bounds defined 空間アンカーSpatial anchors 最大エクスペリエンスMax experience
いいえNo - - - - 方向のみOrientation-only
ありYes いいえNo - - - 固定Seated
ありYes ありYes いいえNo - - 今後Standing - Forward
ありYes ありYes ありYes いいえNo - 360°Standing - 360°
ありYes ありYes ありYes ありYes いいえNo ルームRoom
ありYes ありYes ありYes ありYes ありYes 現実的World

参照のステージフレームは、HoloLens ではまだサポートされていないことに注意してください。Note that the Stage frame of reference is not yet supported on HoloLens. 現在、HoloLens の部屋規模のアプリでは、 空間マッピング または シーンの理解 を使用して、ユーザーのフロアと壁面を見つける必要があります。A room-scale app on HoloLens currently needs to use spatial mapping or scene understanding to find the user's floor and walls.

空間座標系Spatial coordinate systems

すべての3D グラフィックスアプリケーションは、 デカルト座標系 を使用して、レンダリングされる仮想ワールド内のオブジェクトの位置と方向を理解します。All 3D graphics applications use Cartesian coordinate systems to reason about the positions and orientations of objects in the virtual worlds they render. このような座標系では、オブジェクトの位置を表す3つの垂直軸 (X、Y、Z 軸) が確立されます。Such coordinate systems establish 3 perpendicular axes along which to position objects: an X, Y, and Z axis.

混合現実では、アプリは、仮想と物理の両方の座標系を理由としています。In mixed reality, your apps will reason about both virtual and physical coordinate systems. Windows は、物理的な世界で 空間座標系 の真の意味を持つ座標系を呼び出します。Windows calls a coordinate system that has real meaning in the physical world a spatial coordinate system.

空間座標系は、座標の値をメートル単位で表します。Spatial coordinate systems express their coordinate values in meters. つまり、X 軸、Y 軸、または Z 軸で2つの単位を離れた位置に配置されたオブジェクトは、混合現実でレンダリングされると、互いに2メートル離れて表示されます。This means that objects placed 2 units apart in either the X, Y or Z axis will appear 2 meters apart from one another when rendered in mixed reality. これにより、実際のスケールでオブジェクトと環境を簡単にレンダリングできます。This lets you easily render objects and environments at real-world scale.

一般に、デカルト座標系は、右ききまたは左ききにすることができます。In general, Cartesian coordinate systems can be either right-handed or left-handed. Windows 上の空間座標系は常に右辺になります。つまり、正の X 軸が右に、正の Y 軸が上に向かって (重力に沿って)、正の Z 軸がポイントすることを意味します。Spatial coordinate systems on Windows are always right-handed, which means that the positive X-axis points right, the positive Y-axis points up (aligned to gravity) and the positive Z-axis points towards you.

どちらの種類の座標系でも、正の X 軸は右を指し、正の Y 軸は上をポイントします。In both kinds of coordinate systems, the positive X-axis points to the right and the positive Y-axis points up. 違いは、正の Z 軸が手前に表示されるか、または離れているかです。The difference is whether the positive Z-axis points towards or away from you. 正の X 方向の左側または右側の指をポイントし、正の Y 方向に curling することによって、正の Z 軸の方向を思い出すことができます。You can remember which direction the positive Z-axis points by pointing the fingers of either your left or right hand in the positive X direction and curling them to the positive Y direction. Thumb が指す方向は、その座標系に対して、正の Z 軸が指す方向になります。The direction your thumb points, either toward or away from you, is the direction that the positive Z-axis points for that coordinate system.

向きのみまたは取り付けられたスケールエクスペリエンスの構築Building an orientation-only or seated-scale experience

Holographic レンダリング の鍵となるのは、ユーザーが移動するたびに、各フレームのホログラムのアプリのビューを変更することです。The key to holographic rendering is changing your app's view of its holograms each frame as the user moves around, to match their predicted head motion. 固定された スケールのエクスペリエンス を構築できます。これは、 参照の静止フレーム を使用して、ユーザーのヘッド位置とヘッドの向きに対する変更を反映します。You can build seated-scale experiences that respect changes to the user's head position and head orientation using a stationary frame of reference.

一部のコンテンツでは、ヘッド位置の更新を無視して、選択した見出しとユーザーからの距離を常に固定したままにする必要があります。Some content must ignore head position updates, staying fixed at a chosen heading and distance from the user at all times. 主な例は、360度のビデオです。ビデオは1つの固定されたパースペクティブからキャプチャされるため、ユーザーが見ているようにビューの向きを変更する必要がある場合でも、ビューの位置がコンテンツに対して相対的に移動するようになります。The primary example is 360-degree video: because the video is captured from a single fixed perspective, it would ruin the illusion for the view position to move relative to the content, even though the view orientation must change as the user looks around. このような 向き専用のエクスペリエンス は、 関連付けられている参照のフレーム を使用して構築できます。You can build such orientation-only experiences using an attached frame of reference.

静止フレーム (参照)Stationary frame of reference

静止した参照フレームによって提供される座標系は、ユーザーの位置の変更を考慮しながら、ユーザーの近くにあるオブジェクトの位置を可能な限り安定した状態に保つために機能します。The coordinate system provided by a stationary frame of reference works to keep the positions of objects near the user as stable as possible relative to the world, while respecting changes in the user's head position.

Unityなどのゲームエンジンでの動作が固定されている場合、そのエンジンの "世界の出発点" を定義するのが静止した参照フレームです。For seated-scale experiences in a game engine such as Unity, a stationary frame of reference is what defines the engine's "world origin." 特定のワールド座標に配置されたオブジェクトは、その同じ座標を使用して、実際の環境内での位置を定義するために、参照の静止フレームを使用します。Objects that are placed at a specific world coordinate use the stationary frame of reference to define their position in the real-world using those same coordinates. ユーザーの手順に関係なく、世界中のコンテンツは、世界中に ロック されたコンテンツとして知られています。Content that stays put in the world, even as the user walks around, is known as world-locked content.

通常、アプリは起動時に1つの静止フレームを作成し、アプリの有効期間全体にわたってその座標系を使用します。An app will typically create one stationary frame of reference on startup and use its coordinate system throughout the app's lifetime. Unity のアプリ開発者として、コンテンツを元の場所に対して相対的に配置できます。これは、ユーザーの最初の位置と向きになります。As an app developer in Unity, you can just start placing content relative to the origin, which will be at the user's initial head position and orientation. ユーザーが新しい場所に移動したときに、配置されたスケールエクスペリエンスを継続する必要がある場合は、その場所にある世界 recenter をすることができます。If the user moves to a new place and wants to continue their seated-scale experience, you can recenter the world origin at that location.

時間の経過と共に、システムがユーザーの環境についてさらに詳しく学習すると、現実世界のさまざまな地点間の距離が、以前のシステムよりも短いか長いかが判断される可能性があります。Over time, as the system learns more about the user's environment, it may determine that distances between various points in the real-world are shorter or longer than the system previously believed. ユーザーが5メートル幅の範囲を超えている場合に、HoloLens のアプリに対する参照の静止フレームでホログラムをレンダリングすると、アプリはそれらのホログラムの観測された場所で誤差を観察することがあります。If you render holograms in a stationary frame of reference for an app on HoloLens where users wander beyond an area about 5 meters wide, your app may observe drift in the observed location of those holograms. ユーザーが 5 m を超える公を経験している場合、 世界規模のエクスペリエンスを構築しています。そのためには、次に示すように、ホログラムを安定させるために追加の手法が必要になります。If your experience has users wandering beyond 5 meters, you're building a world-scale experience, which will require additional techniques to keep holograms stable, as described below.

アタッチされた参照のフレームAttached frame of reference

アタッチされている参照のフレームはユーザーと共に移動します。固定の見出しは、アプリが最初にフレームを作成したときに定義されます。An attached frame of reference moves with the user as they walk around, with a fixed heading defined when the app first creates the frame. これにより、その参照フレーム内に配置されたコンテンツをユーザーが見やすいようになります。This lets the user comfortably look around at content placed within that frame of reference. このユーザーに対して相対的な方法でレンダリングされるコンテンツは 、本文ロック されたコンテンツと呼ばれます。Content rendered in this user-relative way is called body-locked content.

ヘッドセットが世界中のどこにあるかを判断できない場合、関連付けられている参照のフレームは、ホログラムのレンダリングに使用できる座標系のみを提供します。When the headset can't figure out where it is in the world, an attached frame of reference provides the only coordinate system which can be used to render holograms. これにより、デバイスが世界中では検出できないことをユーザーに通知するフォールバック UI を表示するのに最適です。This makes it ideal for displaying fallback UI to tell the user that their device can't find them in the world. 拡大/縮小されたアプリには、ユーザーの再実行を支援する方向専用のフォールバックを含める必要があります。これは、 Mixed Reality ホームに示されている UI と似ています。Apps that are seated-scale or higher should include an orientation-only fallback to help the user get going again, with UI similar to that shown in the Mixed Reality home.

大規模または部屋規模のエクスペリエンスを構築するBuilding a standing-scale or room-scale experience

イマーシブヘッドセットでの拡大/縮小を実現し、継続的な スケールエクスペリエンス を構築するには、 参照のステージフレーム を使用できます。To go beyond seated-scale on an immersive headset and build a standing-scale experience, you can use the stage frame of reference.

ルームスケールエクスペリエンス を提供するために、事前に定義された5メートルの境界内にユーザーが移動できるようにするには、ステージの境界 も確認します。To provide a room-scale experience, letting users walk around within the 5-meter boundary they pre-defined, you can check for stage bounds as well.

参照のステージフレームStage frame of reference

イマーシブヘッドセットを最初に設定すると、ユーザーは、混合現実を経験する部屋を表す ステージ を定義します。When first setting up an immersive headset, the user defines a stage, which represents the room in which they will experience mixed reality. ステージでは、 ステージの原点 を最小に定義します。これは、ユーザーの選択したフロア位置と、デバイスを使用することを目的とした前方向きを中心とした空間座標システムです。The stage minimally defines a stage origin, a spatial coordinate system centered at the user's chosen floor position and forward orientation where they intend to use the device. このステージ座標系にコンテンツを Y = 0 階平面に配置することにより、ユーザーがいても、ユーザーが継続的に スケールできるエクスペリエンス を提供するようにすることができます。By placing content in this stage coordinate system at the Y=0 floor plane, you can ensure your holograms appear comfortably on the floor when the user is standing, providing users with a standing-scale experience.

ステージの境界Stage bounds

また、必要に応じて、混合現実で移動する家具をクリアした部屋内の領域である、 ステージの境界 を定義することもできます。The user may also optionally define stage bounds, an area within the room that they've cleared of furniture where they intend to move around in mixed reality. その場合、アプリはこれらの境界を使用して ルームスケールエクスペリエンス を構築し、ユーザーがどこにでもホログラムを配置できるようにすることができます。If so, the app can build a room-scale experience, using these bounds to ensure that holograms are always placed where the user can reach them.

参照のステージフレームでは、フロア相対コンテンツを配置する1つの固定座標系が提供されるため、仮想現実のヘッドセット用に開発された、継続的なスケールのアプリケーションを移植するための最も簡単なパスです。Because the stage frame of reference provides a single fixed coordinate system within which to place floor-relative content, it is the easiest path for porting standing-scale and room-scale applications developed for virtual reality headsets. ただし、このような VR プラットフォームと同様に、1つの座標系では、システムの調整に応じて、中央から離れた位置にあるコンテンツが中心のコンテンツを変化させることができます。However, as with those VR platforms, a single coordinate system can only stabilize content in about a 5 meter (16 foot) diameter, before lever-arm effects cause content far from the center to shift noticeably as the system adjusts. 5つのメーターを超えるようにするには、空間アンカーが必要です。To go beyond 5 meters, spatial anchors are needed.

世界規模でのエクスペリエンスの構築Building a world-scale experience

HoloLens を使用すると、ユーザーが5メートルを超える位置にある真の ワールドスケールエクスペリエンス を実現できます。HoloLens allows for true world-scale experiences that let users wander beyond 5 meters. 世界規模のアプリを構築するには、ルームスケールエクスペリエンスに使用されるもの以外の新しい手法が必要になります。To build a world-scale app, you'll need new techniques beyond those used for room-scale experiences.

1つの固定座標系が 5 m を超えて使用できないのはなぜですか。Why a single rigid coordinate system cannot be used beyond 5 meters

現在、ゲーム、データ可視化アプリ、または virtual reality アプリを作成する場合、一般的な方法は、他のすべての座標が確実にに戻すことができる絶対ワールド座標系を確立することです。Today, when writing games, data visualization apps, or virtual reality apps, the typical approach is to establish one absolute world coordinate system that all other coordinates can reliably map back to. その環境では、その世界の任意の2つのオブジェクト間の関係を定義する安定した変換をいつでも見つけることができます。In that environment, you can always find a stable transform that defines a relationship between any two objects in that world. これらのオブジェクトを移動しなかった場合、それらの相対変換は常に同じままになります。If you didn't move those objects, their relative transforms would always remain the same. この種のグローバル座標系は、すべてのジオメトリが事前にわかっている純粋な仮想環境をレンダリングする場合に適しています。This kind of global coordinate system works well when rendering a purely virtual world where you know all of the geometry in advance. 現在、部屋規模の VR アプリケーションでは、通常、このような絶対部屋規模の座標系をフロア上の原点と共に確立します。Room-scale VR apps today typically establish this kind of absolute room-scale coordinate system with its origin on the floor.

これに対し、HoloLens などのならでは mixed reality デバイスは、世界に対して動的なセンサーによる認識を持ち、ビルの全フロアにわたってさまざまなメーターを調べるために、ユーザーの環境の時間にわたってその知識を継続的に調整します。In contrast, an untethered mixed reality device such as HoloLens has a dynamic sensor-driven understanding of the world, continuously adjusting its knowledge over time of the user's surroundings as they walk many meters across an entire floor of a building. 世界規模の環境では、すべてのホログラムを1つの固定座標系に配置した場合、それらのホログラムは常に世界または互いに相対的に時間の経過と共に変化します。In a world-scale experience, if you placed all your holograms in a single rigid coordinate system, those holograms would necessarily drift over time, either relative to the world or to each other.

たとえば、ヘッドセットは、現在、世界中の2つの場所が4メートル離れていると考えられます。その後、その位置が実際には3.9 メートル離れていることを理解してください。For example, the headset may currently believe two locations in the world to be 4 meters apart, and then later refine that understanding, learning that the locations are in fact 3.9 meters apart. 1つの固定された座標系に最初に4メートルが配置されていた場合、そのうちの1つは、常に実際の世界から0.1 のメーターをオフにします。If those holograms had initially been placed 4 meters apart in a single rigid coordinate system, one of them would then always appear 0.1 meters off from the real world.

空間アンカーSpatial anchors

Windows Mixed Reality は、前のセクションで説明した問題を解決します。これにより、ユーザーがホログラムを配置した世界の重要なポイントをマークする 空間アンカー を作成できるようになります。Windows Mixed Reality solves the issue described in the previous section by letting you create spatial anchors to mark important points in the world where the user has placed holograms. 空間アンカーは、システムが長期的に追跡する必要がある、ワールド内の重要な点を表します。A spatial anchor represents an important point in the world that the system should keep track of over time.

デバイスが世界について学習するときに、これらの空間アンカーは、各アンカーが実際の世界に対して相対的に配置されている場所を正確に維持するために、必要に応じて相対的な位置を調整できます。As the device learns about the world, these spatial anchors can adjust their position relative to one another as needed to ensure that each anchor stays precisely where it was placed relative to the real-world. ユーザーがホログラムを配置した場所に空間アンカーを配置した後、空間アンカーを基準としてそのホログラムを配置することで、ユーザーが数十単位でローミングする場合でも、ホログラムが最適な安定性を維持できるようにすることができます。By placing a spatial anchor at the location where the user places a hologram and then positioning that hologram relative to its spatial anchor, you can ensure that the hologram maintains optimal stability, even as the user roams across tens of meters.

空間アンカーを相互に相対的に調整するこのような継続的な調整は、空間アンカーと、参照の静止フレームからの座標系の主な違いです。This continuous adjustment of spatial anchors relative to one another is the key difference between coordinate systems from spatial anchors and stationary frames of reference:

  • すべての静止フレームに配置されたホログラムは、互いに剛体リレーションシップを保持します。Holograms placed in the stationary frame of reference all retain a rigid relationship to one another. ただし、ユーザーの距離が長いと、ユーザーの横にあるホログラムが安定していることを確認するために、そのフレームの座標系が世界に対して相対的にずれている可能性があります。However, as the user walks long distances, that frame's coordinate system may drift relative to the world to ensure that holograms next to the user appear stable.

  • ステージ内に配置されたホログラムは、相互に剛体リレーションシップも保持します。Holograms placed in the stage frame of reference also retain a rigid relationship to one another. 静止フレームとは対照的に、ステージフレームは、定義された物理的な原点を基準として常に固定されたままです。In contrast to the stationary frame, the stage frame always remains fixed in place relative to its defined physical origin. ただし、ステージの座標系に5メートルの境界を超えるコンテンツがレンダリングされるのは、ユーザーがその境界内にある間のみ安定していることです。However, content rendered in the stage's coordinate system beyond its 5-meter boundary will only appear stable while the user is standing within that boundary.

  • 1つの空間アンカーを使用して配置されたホログラムは、別の空間アンカーを使用して配置されたホログラムに相対的にずれます。Holograms placed using one spatial anchor may drift relative to holograms placed using another spatial anchor. これにより、Windows は各空間アンカーの位置を理解しやすくなります。たとえば、1つのアンカーを左に調整する必要があり、別のアンカーが右に調整する必要がある場合でも同様です。This allows Windows to improve its understanding of the position of each spatial anchor, even if, for example, one anchor needs to adjust itself left and another anchor needs to adjust right.

ユーザーの近くの安定性を確保するために常に最適化されている、静止した参照フレームとは対照的に、参照のステージフレームと空間アンカーは、オリジンの近くに安定性を確保します。In contrast to a stationary frame of reference, which always optimizes for stability near the user, the stage frame of reference and spatial anchors ensure stability near their origins. このようにすると、これらのホログラムは時間の経過と共に正確に配置されますが、座標系の原点から離れすぎているホログラムによって、より重大なレバー arm 効果が発生することもあります。This helps those holograms stay precisely in place over time, but it also means that holograms rendered too far away from their coordinate system's origin will experience increasingly severe lever-arm effects. これは、ステージまたはアンカーの位置と向きに対する小さな調整が、そのアンカーからの距離に比例して拡大されるためです。This is because small adjustments to the position and orientation of the stage or anchor are magnified proportional to the distance from that anchor.

経験則として、遠くの空間アンカーの座標系に基づいてレンダリングしたものが、原点の約3メートル以内であることを確認することをお勧めします。A good rule of thumb is to ensure that anything you render based on a distant spatial anchor's coordinate system is within about 3 meters of its origin. 位置指定エラーが増加しても、ユーザーのビューではあまり変化しない小さなホログラムにのみ影響するため、近くのステージオリジンの場合は、遠くのコンテンツをレンダリングすることができます。For a nearby stage origin, rendering distant content is OK, as any increased positional error will affect only small holograms that will not shift much in the user's view.

空間アンカーの永続性Spatial anchor persistence

空間アンカーでは、アプリが中断した後やデバイスがシャットダウンされた後でも、アプリが重要な場所を記憶できるようにすることもできます。Spatial anchors can also allow your app to remember an important location even after your app suspends or the device is shut down.

アプリによって作成された空間アンカーをディスクに保存し、後で再度読み込んで、アプリの 空間アンカーストア に保持することができます。You can save to disk the spatial anchors your app creates, and then load them back again later, by persisting them to your app's spatial anchor store. アンカーを保存または読み込むときは、後でアンカーを識別するために、アプリに意味のある文字列キーを指定します。When saving or loading an anchor, you provide a string key that is meaningful to your app, in order to identify the anchor later. このキーはアンカーのファイル名と考えることができます。Think of this key as the filename for your anchor. ユーザーがその場所に配置した3D モデルなど、他のデータをそのアンカーと関連付けるには、そのデータをアプリのローカルストレージに保存し、選択したキーに関連付けます。If you want to associate other data with that anchor, such as a 3D model that the user placed at that location, save that to your app's local storage and associate it with the key you chose.

ストアにアンカーを保持することで、ユーザーは個々のホログラムを配置したり、アプリがさまざまなホログラムを配置するワークスペースを配置したりできます。また、アプリの多くの使用において、これらのホログラムを予想される場所で探すことができます。By persisting anchors to the store, your users can place individual holograms or place a workspace around which an app will place its various holograms, and then find those holograms later where they expect them, over many uses of your app.

Azure 空間アンカーを使用して HoloLens、iOS および Android デバイスの間で非同期ホログラム永続化を行うこともできます。You can also use Azure Spatial Anchors for asynchronous hologram persistence across HoloLens, iOS and Android devices. 永続的なクラウド空間アンカーを共有すると、永続化した同じホログラムを長時間にわたって複数のデバイスに表示できます。これらのデバイスが同じ時間と場所に居合わせていなくても問題ありません。By sharing a durable cloud spatial anchor, multiple devices can observe the same persisted hologram over time, even if those devices are not present together at the same time.

空間アンカーの共有Spatial anchor sharing

アプリでは、空間アンカーを他のデバイスとリアルタイムで共有することもできます。これにより、リアルタイムの共有エクスペリエンスが可能になります。Your app can also share a spatial anchor in real-time with other devices, allowing for real-time shared experiences.

Azure 空間アンカーを使用すると、アプリは複数の HoloLens、iOS、および Android デバイス間で空間アンカーを共有できます。By using Azure Spatial Anchors, your app can share a spatial anchor across multiple HoloLens, iOS and Android devices. 各デバイスで同じ空間アンカーを使用してホログラムをレンダリングすると、現実世界の同じ場所ですべてのユーザーがホログラムを見ることができます。By having each device render a hologram using the same spatial anchor, all users will see the hologram appear at the same place in the real world.

ヘッドロックされたコンテンツを避けるAvoid head-locked content

ヘッドロックされたコンテンツをレンダリングすることを強くお勧めします。これは、ディスプレイの固定位置 (HUD など) にとどまります。We strongly discourage rendering head-locked content, which stays at a fixed spot in the display (such as a HUD). 一般に、ヘッドロックされたコンテンツはユーザーにとって不快であり、世界の自然な部分には見えません。In general, head-locked content is uncomfortable for users and does not feel like a natural part of their world.

ヘッドロックされたコンテンツは、通常、ユーザーにアタッチされているか、世界中に配置されているホログラムに置き換える必要があります。Head-locked content should usually be replaced with holograms that are attached to the user or placed in the world itself. たとえば、 カーソル は一般に世界にプッシュされる必要があり、ユーザーの見つめにあるオブジェクトの位置と距離を反映するように自然にスケーリングします。For example, cursors should generally be pushed out into the world, scaling naturally to reflect the position and distance of the object under the user's gaze.

追跡エラーの処理Handling tracking errors

ダーク廊下などの一部の環境では、内部でのアウトトラッキングを使用して、ヘッドセットが自身を正しく見つけることができない場合があります。In some environments such as dark hallways, it may not be possible for a headset using inside-out tracking to locate itself correctly in the world. これにより、正しく処理されなかった場合に、ホログラムが表示されないか、正しくない場所に表示される可能性があります。This can lead holograms to either not show up or appear at incorrect places if handled incorrectly. ここでは、これが発生する可能性のある条件、ユーザーエクスペリエンスへの影響、およびこの状況に最適に対処するためのヒントについて説明します。We now discuss the conditions in which this can happen, its impact on user experience, and tips to best handle this situation.

センサーデータが不足しているため、ヘッドセットが追跡できませんHeadset cannot track due to insufficient sensor data

ヘッドセットのセンサーがヘッドセットの場所を特定できないことがあります。Sometimes, the headset's sensors are not able to figure out where the headset is. これは、部屋が暗い場合や、センサーがヘアまたはハンドで覆われている場合、または周囲のテクスチャが十分でない場合に発生することがあります。This can happen if the room is dark, or if the sensors are covered by hair or hands, or if the surroundings do not have enough texture.

この場合、ヘッドセットは、世界中にロックされているホログラムをレンダリングするために十分な精度で位置を追跡することができません。When this happens, the headset will be unable to track its position with enough accuracy to render world-locked holograms. 空間アンカー、静止フレーム、ステージフレームがデバイスに対して相対的な位置を調べることはできませんが、関連付けられている参照フレームで、本文ロックされたコンテンツをレンダリングすることはできます。You won't be able to figure out where a spatial anchor, stationary frame or stage frame is relative to the device, but you can still render body-locked content in the attached frame of reference.

アプリでは、位置追跡を取得する方法をユーザーに伝える必要があります。これにより、センサーを明らかにしたり、より多くのライトをオンにしたりするなど、いくつかのヒントを説明するフォールバックボディロックコンテンツを表示できます。Your app should tell the user how to get positional tracking back, rendering some fallback body-locked content that describes some tips, such as uncovering the sensors and turning on more lights.

環境の動的な変更により、ヘッドセットの追跡が正しく行われないHeadset tracks incorrectly due to dynamic changes in the environment

場合によっては、多くの開発者が部屋にいるなど、環境に動的な変更が多数あると、デバイスが適切に追跡できないことがあります。Sometimes, the device cannot track properly if there are lots of dynamic changes in the environment, such as many people walking around in the room. この場合、デバイスがこの動的な環境で自身を追跡しようとしたときに、ホログラムがジャンプまたはドリフトするように見えることがあります。In this case, the holograms may seem to jump or drift as the device tries to track itself in this dynamic environment. このシナリオに達した場合は、比較的動的な環境でデバイスを使用することをお勧めします。We recommend using the device in a less dynamic environment if you hit this scenario.

環境が時間の経過と共に大幅に変更されたため、ヘッドセットの追跡が正しく行われないHeadset tracks incorrectly because the environment has changed significantly over time

場合によっては、多くの変更が行われた環境 (たとえば、家具、壁 hangings など) でヘッドセットの使用を開始すると、一部のホログラムが元の場所から移動する可能性があります。Sometimes, when you start using a headset in an environment which has undergone lot of changes (e.g. significant movement of furniture, wall hangings etc.), it is possible that some holograms may appear shifted from their original locations. この新しい領域でユーザーが移動すると、前のホログラムも移動することがあります。The earlier holograms may also jump around as the user moves around in this new space. これは、システムによって使用されている領域についての理解が失われ、ルームの機能を調整しようとしている間に環境の再マップが試行されるためです。This is because the system's understanding of your space no longer holds and it tries to remap the environment while trying to reconcile the features of the room. このシナリオでは、意図した場所に表示されない場合に、ユーザーに対してピン留めしたホログラムを再配置することをお勧めします。In this scenario, it is advised to encourage users to re-place holograms they pinned in the world if they are not appearing where expected.

環境内の同じスペースが原因でヘッドセットの追跡が正しく行われないHeadset tracks incorrectly due to identical spaces in an environment

場合によっては、自宅またはその他の領域に2つの同一領域が存在することがあります。Sometimes, a home or other space may have two identical areas. たとえば、2つの同一の会議室、2つの同じコーナー領域、デバイスのビューのフィールドに対応する2つの大きな同じポスターです。For example, two identical conference rooms, two identical corner areas, two large identical posters that cover the device's field of view. このようなシナリオでは、デバイスが同一の部分を混同し、内部表現で同じようにマークすることがあります。In such scenarios, the device may, at times, get confused between the identical parts and mark them as the same in its internal representation. これにより、一部の領域からのホログラムが他の場所に表示される可能性があります。This may cause the holograms from some areas to appear in other locations. 環境の内部表現が破損しているため、デバイスの追跡が頻繁に失われることがあります。The device may start to lose tracking often since its internal representation of the environment has been corrupted. この場合は、システムの環境の理解をリセットすることをお勧めします。In this case, it is advised to reset the system's environmental understanding. マップをリセットすると、すべての空間アンカーの配置が失われることに注意してください。Please note that resetting the map leads to loss of all spatial anchor placements. これにより、ヘッドセットは環境の一意の領域で適切に追跡されます。This will cause the headset to track well in the unique areas of the environment. ただし、同一の領域間でデバイスが混同されると、問題が再度発生する可能性があります。However, the problem may re-occur if the device gets confused between the identical areas again.

関連項目See also