空間マッピングの設計Spatial mapping design

空間マッピング HoloLens 内での効果的な使用には、多くの要因を慎重に検討が必要です。Effective use of spatial mapping within HoloLens requires careful consideration of many factors.

デバイスのサポートDevice support

機能Feature HoloLensHoloLens イマーシブ ヘッドセットImmersive headsets
空間マッピングの設計Spatial mapping design ✔️✔️

空間マッピングが重要な理由Why is spatial mapping important?

空間マッピングでは、実際の画面上のオブジェクトを配置することです。Spatial mapping makes it possible to place objects on real surfaces. これにより、ユーザーの世界のアンカー オブジェクトと、現実世界の深さの四角形の活用します。その他のホログラムと現実世界のオブジェクトに基づいて、ホログラム occluding は、これらホログラムが自分のスペースでは実際にユーザーに納得させることができます。This helps anchor objects in the user's world and takes advantage of real world depth cues. Occluding your holograms based on other holograms and real world objects helps convince the user that these holograms are actually in their space. 浮いた立体またはユーザーの移動は変わらないと感じるホログラム実数として。Holograms floating in space or moving with the user will not feel as real. 可能であれば、快適性のアイテムを配置します。When possible, place items for comfort.

配置またはホログラム (単純な射影されたグリッドを使用する) を移動するときは、サーフェスを視覚化します。Visualize surfaces when placing or moving holograms (use a simple projected grid). ユーザーに知らせる、ホログラムに最適な設置でき、ホログラムを配置しようとしているスポットがまだマップされていないかどうか、ユーザーが表示されますが、これは役立ちます。This will help the user know where they can best place their holograms, and shows the user if the spot they are trying to place the hologram hasn't been mapped yet. ことができます「ビルボード項目」ユーザーに向かって角度が過度に最終的にいる場合。You can "billboard items" toward the user if they end up at too much of an angle.

空間マッピングの品質に影響しますか。What influences spatial mapping quality?

最適なユーザー エクスペリエンスを提供するには、HoloLens によって収集される空間マッピング データの品質に影響する要因を理解しておく必要があります。In order to provide the best user experience, it is important to understand the factors that affect the quality of spatial mapping data gathered by HoloLens.

空間マッピング データのエラーは、3 つのカテゴリに分類されます。Errors in spatial mapping data fall into one of three categories:

  • :空間マッピング データに実際の画面が表示されません。Holes: Real-world surfaces are missing from the spatial mapping data.
  • Hallucinations:サーフェスは、現実の世界ではない空間マッピング データに存在します。Hallucinations: Surfaces exist in the spatial mapping data that do not exist in the real world.
  • バイアス:空間マッピング データのサーフェスは、実際のサーフェスは、プッシュまたは抽出のいずれかで生成配置されます。Bias: Surfaces in the spatial mapping data are imperfectly aligned with real-world surfaces, either pushed in or pulled out.

いくつかの要因は、頻度とこれらのエラーの重大度に影響します。Several factors can affect the frequency and severity of these errors:

  • ユーザーの動きUser motion

    • 環境内でユーザーがどのように移動するかを判断します度合いは、環境がスキャンされます、ため、ユーザーは、適切なスキャンを実現するためにガイダンスを必要があります。How the user moves through their environment determines how well the environment will be scanned, so the user may require guidance in order to achieve a good scan.
    • スキャンするために使用するカメラは、70 度円錐 3.1 メーター距離の最大数、カメラから 0.8 メーターの最小値内のデータを提供します。The camera used for scanning provides data within a 70-degree cone, from a minimum of 0.8 meters to a maximum of 3.1 meters distance from the camera. 実際の画面は、このフィールドのビュー内でのみスキャンされます。Real-world surfaces will only be scanned within this field of view. これらの値は将来のバージョンで変更されることに注意してください。Note that these values are subject to change in future versions.
    • オブジェクトの 3.1 のメートル単位内のユーザーを取得しない場合、それがスキャンされません。If the user never gets within 3.1 meters of an object then it will not be scanned.
    • かどうか、ユーザーがのみ 0.8 メーター未満の距離からのオブジェクトを表示し、スキャンされません (ユーザーの手のスキャンが回避されます)。If the user only views an object from a distance of less than 0.8 meters then it will not be scanned (this avoids scanning the user's hands).
    • 決してを表示する場合上方向 (これは通常かなり) し、ceiling は可能性がありますスキャンされません。If the user never looks upward (which is fairly normal) then the ceiling will likely not be scanned.
    • ユーザーが家具または壁の内側に探すことはありませんこれらによってオクルー ジョン オブジェクトはスキャンされません。If a user never looks behind furniture or a wall then the objects occluded by them will not be scanned.
    • サーフェスでは、浅い角度ではなく、正面を向けたを表示したときより高い品質でスキャンする傾向があります。Surfaces tend to be scanned at a higher quality when they are viewed head-on rather than at a shallow angle.
    • 場合は、HoloLens の head 追跡システムが失敗した瞬間的には発生迅速なユーザーの動き、不適切なライティング、壁の特徴またはカメラが原因になる説明)、空間マッピング データのエラーをもたらします。If the head-tracking system of the HoloLens fails momentarily (which may happen due to rapid user motion, poor lighting, featureless walls or the cameras becoming covered), this can introduce errors in the spatial mapping data. ユーザーを移動し、その環境をスキャンでは、時間の経過と共に、このようなエラーが修正されます。Any such errors will be corrected over time as the user continues to move around and scan their environment.
  • 画面の資料Surface materials

    • 現実世界の表面に素材は大きく異なります。The materials found on real-world surfaces vary greatly. 赤外線方法に影響するためのデータは反映は空間マッピングの品質に影響を与えます。These impact the quality of spatial mapping data because they affect how infrared light is reflected.
    • 小さい光が反映されるので、カメラに近いものになるまで、濃いサーフェスをスキャンできません可能性があります。Dark surfaces may not scan until they come closer to the camera, because they reflect less light.
    • サーフェスの一部は、距離からスキャンするので、面の背後および場合によって、画面の場所に穴のエラーも導入が少なすぎるライトを反映するように濃い可能性があります。Some surfaces may be so dark that they reflect too little light to be scanned from any distance, so they will introduce hole errors at the location of the surface and sometimes also behind the surface.
    • 正面を向けた、表示したときに、および簡易角度から見たときではなく、特に光沢のあるサーフェスはスキャンのみ場合があります。Particularly shiny surfaces may only scan when viewed head-on, and not when viewed from a shallow angle.
    • ミラー化の実際のスペースとサーフェス、印象は景色の反射を作成するため、可能性があります穴のエラーと hallucination エラーの両方。Mirrors, because they create illusory reflections of real spaces and surfaces, can cause both hole errors and hallucination errors.
  • シーンの移動Scene motion

    • 空間マッピングは、ユーザーの移動や左右のドアをなど、環境内の変更に迅速に適応します。Spatial mapping adapts rapidly to changes in the environment, such as moving people or opening and closing doors.
    • ただし、空間マッピングできますのみの変化に適応領域でその領域がのスキャンに使用するカメラを明確に表示されます。However, spatial mapping can only adapt to changes in an area when that area is clearly visible to the camera that is used for scanning.
    • このためには、この適合より実際には、穴または hallucination のエラーが発生することができますも遅延する可能性があります。Because of this, it is possible for this adaptation to lag behind reality, which can cause hole or hallucination errors.
    • 例としては、ユーザーは友人をスキャンし、中、友人の余地がにします。As an example, a user scans a friend and then turns around while the friend leaves the room. フレンド (hallucination エラー) の 'ghost' 表現は、ユーザーに戻されたときの周囲と、友人が立っていました領域を再スキャンまで、空間マッピングのデータで保持されます。A 'ghost' representation of the friend (a hallucination error) will persist in the spatial mapping data, until the user turns back around and re-scans the space where the friend was standing.
  • 照明干渉Lighting interference

    • シーンのアンビエント赤外線を妨げる可能性スキャンなど、強力な日光がウィンドウを通過します。Ambient infrared light in the scene may interfere with scanning, for example strong sunlight coming through a window.
    • 特に光沢のあるサーフェスは、ライトのそれらの原因となるバイアス エラー オフ バウンス近くにあるサーフェスのスキャンに干渉する可能性があります。Particularly shiny surfaces may interfere with the scanning of nearby surfaces, the light bouncing off them causing bias errors.
    • 光沢のあるサーフェスがカメラに直接光を反映浮動空中 hallucinations の原因とするか、シーンの動きへの対応を行うことで、容量が近くに影響します。Shiny surfaces reflecting light directly back into the camera may interfere with nearby space, either by causing floating mid-air hallucinations or by delaying adaptation to scene motion.
    • 同じ部屋に 2 つの HoloLens デバイスは、互いを妨害しないようにしますが、5 つを超える HoloLens デバイスの存在干渉が発生する可能性があります。Two HoloLens devices in the same room should not interfere with one another, but the presence of more than five HoloLens devices may cause interference.

しないか、またはこれらのエラーの一部を修正することがある可能性があります。It may be possible to avoid or correct for some of these errors. ただし、ユーザーが空間マッピング データのエラーがある場合でも、目標を実現できるようにアプリケーションを設計する必要があります。However, you should design your application so that the user is able to achieve their goals even in the presence of errors in the spatial mapping data.

環境の経験をスキャンします。The environment scanning experience

HoloLens はように、ユーザーはそれらの環境でサーフェスについて学習します。HoloLens learns about the surfaces in its environment as the user looks at them. 時間の経過と共に、HoloLens を発見された環境のすべての部分のスキャンをビルドします。Over time, the HoloLens builds up a scan of all parts of the environment that have been observed. また、環境の変化が見られたものと、スキャンを更新します。It also updates the scan as changes in the environment are observed. このスキャンは、アプリの起動の間で自動的に保持されます。This scan will automatically persist between app launches.

空間マッピングを使用する各アプリケーションが 'スキャン エクスペリエンス;' を提供することを検討する必要があります。アプリケーションをアプリケーションが正しく機能するために必要なサーフェスをスキャンするユーザーに紹介するプロセス。Each application that uses spatial mapping should consider providing a 'scanning experience'; the process through which the application guides the user to scan surfaces that are necessary for the application to function correctly.

スキャンの例Example of scanning
スキャンの例Example of scanning

このスキャンのエクスペリエンスの性質は、各アプリケーションのニーズに応じて大幅に異なりますが、2 つの主要な原則は、その設計をガイドする必要があります。The nature of this scanning experience can vary greatly depending upon each application's needs, but two main principles should guide its design.

まず、ユーザーとの通信が大きな問題は明らかですします。Firstly, clear communication with the user is the primary concern. ユーザーはアプリケーションの要件が満たされているかどうかを認識は常にします。The user should always be aware of whether the application's requirements are being met. される満たされていない、ときにこれは、理由と、適切なアクションを実行する迅速に指導する必要があります、ユーザーにすぐにクリアが必要です。When they are not being met, it should be immediately clear to the user why this is so and they should be quickly led to take the appropriate action.

次に、効率性と信頼性のバランスを取るようにアプリケーションを試みる必要があるします。Secondly, applications should attempt to strike a balance between efficiency and reliability. これを行うことが確実にアプリケーションがユーザー時間を節約する空間のマッピング データを自動的に分析する必要があります。When it is possible to do so reliably, applications should automatically analyze spatial mapping data to save the user time. 確実にそうことはできません、ときに、アプリケーションにする必要があります代わりに必要な追加情報を使用してアプリケーションを迅速に提供するユーザーが有効にします。When it is not possible to do so reliably, applications should instead enable the user to quickly provide the application with the additional information it requires.

デザイン エクスペリエンスをスキャンする右のため、次のようなは、アプリケーションに適用可能な検討してください。To help design the right scanning experience, consider which of the following possibilities are applicable to your application:

  • スキャンのエクスペリエンスはありません。No scanning experience

    • アプリケーションが、ガイド付きのスキャン エクスペリエンスことがなく完全に機能可能性があります。これは、自然なユーザーの移動の途中で見られる画面について学習します。An application may function perfectly without any guided scanning experience; it will learn about surfaces that are observed in the course of natural user movement.
    • たとえばユーザーが holographic spraypaint 面を描画できるアプリケーションでは、サーフェスをユーザーに現在表示されているだけの知識が必要です。For example an application that lets the user draw on surfaces with holographic spraypaint requires knowledge only of the surfaces currently visible to the user.
    • 環境が完全にスキャン既に、HoloLens を使用して時間の多くが、ユーザーに費やして既にいずれかである場合。The environment may be completely scanned already if it is one in which the user has already spent a lot of time using the HoloLens.
    • 留意ただし空間マッピングで使用されるカメラのみを表示できることも、ユーザー、3.1 m 空間マッピングが登録されていないより離れているサーフェスの詳細について、ユーザーが監視に近い距離から過去にしない限り、します。Bear in mind however that the camera used by spatial mapping can only see 3.1m in front of the user, so spatial mapping will not know about any more distant surfaces unless the user has observed them from a closer distance in the past.
    • サーフェスがスキャンされて、ユーザーが理解できるように、アプリケーションがこの影響を視覚的なフィードバックを提供するなどをスキャンした表面に仮想の影をキャストと、これらのサーフェス上ホログラムを配置するユーザーが役立つ場合があります。So the user understands which surfaces have been scanned, the application should provide visual feedback to this effect, for example casting virtual shadows onto scanned surfaces may help the user place holograms on those surfaces.
    • この場合は、空間表面オブザーバーの外接するボリュームがある必要があります本文ロックに各フレームを更新空間座標系ユーザーに続くようにします。For this case, the spatial surface observer's bounding volumes should be updated each frame to a body-locked spatial coordinate system, so that they follow the user.
  • 適切な場所を検索します。Find a suitable location

    • 特定の要件の場所で使用するため、アプリケーションを設計する可能性があります。An application may be designed for use in a location with specific requirements.
    • たとえば、holographic 力-fu を安全に練習ができるように、アプリケーションはユーザーを空の領域を必要があります。For example, the application may require an empty area around the user so they can safely practice holographic kung-fu.
    • アプリケーションは、初期のユーザーに特定の要件と通信し、クリア視覚的なフィードバックを強調する必要があります。Applications should communicate any specific requirements to the user up-front, and reinforce them with clear visual feedback.
    • この例では、アプリケーションが必要な空の領域のエクステントを視覚化し、このゾーン内の不要なオブジェクトの存在を視覚的に強調表示する必要があります。In this example, the application should visualize the extent of the required empty area and visually highlight the presence of any undesired objects within this zone.
    • 空間表面オブザーバーの外接するボリューム、この場合の世界ロックを使用する必要があります空間座標系選択した場所にします。For this case, the spatial surface observer's bounding volumes should use a world-locked spatial coordinate system in the chosen location.
  • サーフェスの適切な構成が見つかりませんFind a suitable configuration of surfaces

    • アプリケーションは、ミラーの holographic hall を作成する壁の対立、たとえば 2 つの大きな、サーフェスの特定の構成をフラット、必要があります。An application may require a specific configuration of surfaces, for example two large, flat, opposing walls to create a holographic hall of mirrors.
    • このような場合、アプリケーションに適したサーフェスを検出し、それらにユーザーを直接空間マッピングによって提供されるサーフェスを分析する必要があります。In such cases the application will need to analyze the surfaces provided by spatial mapping to detect suitable surfaces, and direct the user toward them.
    • ユーザーは、アプリケーションの表面の解析が完全に信頼できる場合、フォールバック オプションにすることが必要です。The user should have a fallback option if the application's surface analysis is not completely reliable. たとえば、アプリケーションが平らな壁として戸口を正しく識別する場合、ユーザーにはこのエラーを修正する簡単な方法必要があります。For example, if the application incorrectly identifies a doorway as a flat wall, the user needs a simple way to correct this error.
  • 環境の一部をスキャンします。Scan part of the environment

    • アプリケーションは、ユーザーの指示に従って、環境の一部のみをキャプチャにすることがあります。An application may wish to only capture part of the environment, as directed by the user.
    • たとえば、アプリケーションは、ため、ユーザーが販売したい家具の holographic 分類された広告を投稿、部屋の一部をスキャンします。For example, the application scans part of a room so the user may post a holographic classified ad for furniture they wish to sell.
    • ここでは、アプリケーションは、スキャン中に、ユーザーが確認されたリージョン内の空間マッピング データをキャプチャする必要があります。In this case, the application should capture spatial mapping data within the regions observed by the user during their scan.
  • 全体のルームをスキャンします。Scan the whole room

    • アプリケーションでは、すべてのユーザーの背後にあるものも含め、現在のルームのサーフェスのスキャンを必要があります。An application may require a scan of all of the surfaces in the current room, including those behind the user.
    • たとえば、ゲームでは、Gulliver の役割の耐え忍んですべての方向からに近づいている小さな Lilliputians 数百からユーザーを配置することがあります。For example, a game may put the user in the role of Gulliver, under siege from hundreds of tiny Lilliputians approaching from all directions.
    • ルームの現在の表面の数を決定する必要があります、アプリケーションで、このような場合、既にスキャンされているし、大きなギャップを埋めるために、ユーザーの視線の先を指示します。In such cases, the application will need to determine how many of the surfaces in the current room have already been scanned, and direct the user's gaze to fill in significant gaps.
    • このプロセスにキーでは、サーフェスがまだスキャンされていないユーザーに対してチェック ボックスをオフになっている視覚的なフィードバックを提供します。The key to this process is providing visual feedback that makes it clear to the user which surfaces have not yet been scanned. アプリケーションを使用できますたとえば距離ベースのフォグ空間マッピング サーフェスでカバーされていない領域を視覚的に強調表示します。The application could for example use distance-based fog to visually highlight regions that are not covered by spatial mapping surfaces.
  • 環境の初期スナップショットします。Take an initial snapshot of the environment

    • アプリケーションは、初期 'snapshot' を考慮して、環境内のすべての変更を無視する必要があります。An application may wish to ignore all changes in the environment after taking an initial 'snapshot'.
    • これは、環境の初期状態に密結合は、ユーザーが作成したデータの中断を回避するために適切な可能性があります。This may be appropriate to avoid disruption of user-created data that is tightly coupled to the initial state of the environment.
    • ここでは、アプリケーションください空間マッピング データのコピーを初期状態で、スキャンが完了したら。In this case, the application should make a copy of the spatial mapping data in its initial state once the scan is complete.
    • アプリケーションでは、ホログラムが環境によって正しくオクルー ジョンする場合は、空間マッピング データの更新を受信し続ける必要があります。Applications should continue receiving updates to spatial mapping data if holograms are still to be correctly occluded by the environment.
    • 空間マッピング データの継続的な更新では、以前と現在の状態を環境の間の相違点の明確化、ユーザーに、発生した変更を視覚化することもできます。Continued updates to spatial mapping data also allow visualizing any changes that have occurred, clarifying to the user the differences between prior and present states of the environment.
  • 環境のユーザーが開始したスナップショットを取得します。Take user-initiated snapshots of the environment

    • アプリケーションのみ、ユーザーが指示されたときの環境の変化に応答します。An application may only wish to respond to environmental changes when instructed by the user.
    • たとえば、ユーザーは、異なる時点でそのポーズをキャプチャすることで '像' 友人の複数の 3D を作成できます。For example, the user could create multiple 3D 'statues' of a friend by capturing their poses at different moments.
  • 環境を変更するユーザーを許可します。Allow the user to change the environment

    • ユーザーの環境に変更をリアルタイムで応答するアプリケーションを設計することがあります。An application may be designed to respond in real-time to any changes made in the user's environment.
    • たとえば、カーテンの描画、ユーザーは、もう一方の側で実行されている holographic プレイのシーン変更をトリガーできます。For example, the user drawing a curtain could trigger 'scene change' for a holographic play taking place on the other side.
  • 空間マッピング データのエラーを回避するために、ユーザーのガイドGuide the user to avoid errors in the spatial mapping data

    • アプリケーションは、その環境をスキャンするときに、ユーザーにガイダンスを提供するとします。An application may wish to provide guidance to the user while they are scanning their environment.
    • 特定の種類を回避するために、ユーザーがこうの空間マッピング データのエラー、照らさ windows またはミラーから留まることで、たとえばします。This can help the user to avoid certain kinds of errors in the spatial mapping data, for example by staying away from sunlit windows or mirrors.

注意すべき 1 つの追加詳細は、空間マッピング データの '範囲' は無制限ではありません。One additional detail to be aware of is that the 'range' of spatial mapping data is not unlimited. 空間マッピングは大規模なスペースの永続的なデータベースをビルド中にのみにデータをアプリケーションで使用できるユーザーを制限されたサイズの 'バブル' されます。Whilst spatial mapping does build a permanent database of large spaces, it only makes that data available to applications in a 'bubble' of limited size around the user. したがって長い回廊と、開始から十分にウォークの先頭から開始するかどうかは、最終的に先頭に戻る空間サーフェスは非表示になります。Thus if you start at the beginning of a long corridor and walk far enough away from the start, then eventually the spatial surfaces back at the beginning will disappear. これは、後使用可能な空間のマッピング データからが消えている、アプリケーションでこれらのサーフェスをキャッシュすることによってもちろん緩和できます。You can of course mitigate this by caching those surfaces in your application after they have disappeared from the available spatial mapping data.

メッシュの処理Mesh processing

サーフェスで一般的な種類のエラーを検出し、フィルター処理、削除、または適切な空間のマッピング データの変更に役立ちます。It may help to detect common types of errors in surfaces and to filter, remove or modify the spatial mapping data as appropriate.

その空間のマッピング データは、現実世界のサーフェスを可能な限り忠実に注意してください、見当違い' '、サーフェスをシフトするリスクを適用するため、処理します。Bear in mind that spatial mapping data is intended to be as faithful as possible to real-world surfaces, so any processing you apply risks shifting your surfaces further from the 'truth'.

メッシュの処理に役立つ可能性のさまざまな種類のいくつかの例を次に示します。Here are some examples of different types of mesh processing that you may find useful:

  • 穴を埋めるHole filling

    • 濃いマテリアルの小さなオブジェクトのスキャンが失敗、周囲の画面に穴が終了します。If a small object made of a dark material fails to scan, it will leave a hole in the surrounding surface.
    • 穴に影響を与えるオクルー ジョン: ホログラム 'から' 穴と思われる非透過の実際の画面で確認できます。Holes affect occlusion: holograms can be seen 'through' a hole in a supposedly opaque real-world surface.
    • 穴に影響を与える raycasts: raycasts サーフェスとの対話ユーザーを使用している場合にない可能性がありますこれら光線の穴を通過することが望ましい。Holes affect raycasts: if you are using raycasts to help users interact with surfaces, it may be undesirable for these rays to pass through holes. 軽減策の 1 つでは、適切なサイズの領域をカバーする複数の raycasts のバンドルを使用します。One mitigation is to use a bundle of multiple raycasts covering an appropriately sized region. これができるように '外れ値' の結果をフィルター処理する場合でも、1 つ raycast 小さな穴を通過、集計結果が有効にもなります。This will allow you to filter 'outlier' results, so that even if one raycast passes through a small hole, the aggregate result will still be valid. ただし、この方法が、計算コストもあります。However, be aware that this approach comes at a computational cost.
    • 物理運動の競合に影響を与える穴: 物理学のシミュレーションによって制御されるオブジェクト可能性があります、フロアの穴から削除して、失われます。Holes affect physics collisions: an object controlled by physics simulation may drop through a hole in the floor and become lost.
    • 表面メッシュには、このような穴をアルゴリズムに入力することになります。It is possible to algorithmically fill such holes in the surface mesh. ただし、windows 入り口など ' 実際穴' が設定されませんしないように、アルゴリズムを調整する必要があります。However, you will need to tune your algorithm so that 'real holes' such as windows and doorways do not get filled in. 難しいことがあります '虚数穴' から ' 実際穴' を確実に区別するために 'size' などのさまざまなヒューリスティックを実験する必要があります '境界図形' とします。It can be difficult to reliably differentiate 'real holes' from 'imaginary holes', so you will need to experiment with different heuristics such as 'size' and 'boundary shape'.
  • Hallucination の削除Hallucination removal

    • 反射、明るいライト、および移動するオブジェクトは、小規模な残留 'hallucinations' 空中で浮動ままにできます。Reflections, bright lights and moving objects can leave small lingering 'hallucinations' floating in mid-air.
    • Hallucinations オクルー ジョンに影響を与える: hallucinations の前面に移動し、他ホログラム occluding 濃い図形として表示になる可能性があります。Hallucinations affect occlusion: hallucinations may become visible as dark shapes moving in front of and occluding other holograms.
    • Hallucinations に影響を与える raycasts: これら光線の背後にある画面ではなく、hallucination でしたヒット raycasts サーフェスとの対話ユーザーを使用している場合。Hallucinations affect raycasts: if you are using raycasts to help users interact with surfaces, these rays could hit a hallucination instead of the surface behind it. 穴と同様、軽減する 1 つは、1 つの raycast ではなく多く raycasts を使用するが、もう一度これは計算コストで提供されます。As with holes, one mitigation is to use many raycasts instead of a single raycast, but again this will come at a computational cost.
    • 影響の衝突の物理運動 hallucinations: 物理学のシミュレーションによって制御されるオブジェクトは、hallucination に対して一時的に停止し、領域の一見明確な領域を移動することができません。Hallucinations affect physics collisions: an object controlled by physics simulation may become stuck against a hallucination and be unable to move through a seemingly clear area of space.
    • このような hallucinations 表面メッシュからのフィルター処理することになります。It is possible to filter such hallucinations from the surface mesh. ただし、セキュリティ ホールと同様、lamp スタンドなど小規模の実際のオブジェクトおよびハンドルは削除されないため、アルゴリズムを調整する必要があります。However, as with holes, you will need to tune your algorithm so that real small objects such as lamp-stands and door handles do not get removed.
  • スムージングSmoothing

    • 空間マッピングは、大まかなや実際の対応と比べて ' ノイズの多い' として表示される画面を返す可能性があります。Spatial mapping may return surfaces that appear to be rough or 'noisy' in comparison to their real-world counterparts.
    • 滑らかさに影響を与えます物理学の競合: 床面が大まかな場合は、ボールが物理的にシミュレートされた可能性がありますをロールバックできませんスムーズに全体にわたる直線。Smoothness affects physics collisions: if the floor is rough, a physically simulated golf ball may not roll smoothly across it in a straight line.
    • 滑らかさがレンダリングに影響します。 場合サーフェスは直接ビジュアル化、大まかな表面法線をその外観に影響し、中断 'クリーン' を参照してください。Smoothness affects rendering: if a surface is visualized directly, rough surface normals can affect its appearance and disrupt a 'clean' look. サーフェイスを描画するために使用するシェーダーに適切な光やテクスチャを使用してこの状況に対処することになります。It is possible to mitigate this by using appropriate lighting and textures in the shader that is used to render the surface.
    • 表面メッシュ内の粗さを滑らかにすることになります。It is possible to smooth out roughness in a surface mesh. ただし、対応する実際の画面から離れた場所でさらに、画面をプッシュこの可能性があります。However, this may push the surface further away from the corresponding real-world surface. 閉じるには対応関係を維持するが holographic サーフェスで正確かつ予測可能な対話を実現するためにユーザーを有効にする正確なホログラム オクルー ジョンを生成するために重要です。Maintaining a close correspondence is important to produce accurate hologram occlusion, and to enable users to achieve precise and predictable interactions with holographic surfaces.
    • 表面的な変更が必要なだけの場合は、頂点の位置を変更することがなく、頂点の法線を滑らかにするための十分な場合があります。If only a cosmetic change is required, it may be sufficient to smooth vertex normals without changing vertex positions.
  • 平面の検索Plane finding

    • 空間マッピングによって提供されるサーフェスでを実行するアプリケーション分析の多くの形式があります。There are many forms of analysis that an application may wish to perform on the surfaces provided by spatial mapping.
    • 1 つの簡単な例は、'プレーンの検索';サーフェスの境界付けられた、平面のほとんどのリージョンを識別します。One simple example is 'plane finding'; identifying bounded, mostly-planar regions of surfaces.
    • 平面のリージョンは、holographic 作業-サーフェス、holographic コンテンツに自動的に配置できるアプリケーションがリージョンとして使用できます。Planar regions can be used as holographic work-surfaces, regions where holographic content can be automatically placed by the application.
    • 平面のリージョンでは、ガイドの最も要件に合わせて、サーフェスと対話をユーザーにユーザー インターフェイスを制限できます。Planar regions can constrain the user interface, to guide users to interact with the surfaces that best suit their needs.
    • 平面のリージョンは、LCD 画面、テーブルまたはホワイト ボードなどの機能のオブジェクトに対応する holographic の現実の世界では、ように使用できます。Planar regions can be used as in the real world, for holographic counterparts to functional objects such as LCD screens, tables or whiteboards.
    • 平面のリージョンでは、テレビ ゲーム レベルの基礎を築くのプレイ領域を定義できます。Planar regions can define play areas, forming the basis of videogame levels.
    • 平面の領域をフロアで参照する可能性が高い実在の人物の領域を識別することによって、現実の世界を移動する仮想エージェントと役立ちます。Planar regions can aid virtual agents to navigate the real world, by identifying the areas of floor that real people are likely to walk on.

プロトタイプの作成とデバッグPrototyping and debugging

便利なツールUseful tools

  • HoloLens のエミュレーター物理 HoloLens へのアクセスなしの空間のマッピングを使用してアプリケーションを開発するために使用できます。The HoloLens emulator can be used to develop applications using spatial mapping without access to a physical HoloLens. 現実的な環境での HoloLens のライブ セッションをシミュレートすることができますが、すべてのデータとアプリケーションは通常で使用する、HoloLens モーション、空間座標系空間マッピング メッシュなど。It allows you to simulate a live session on a HoloLens in a realistic environment, with all of the data your application would normally consume, including HoloLens motion, spatial coordinate systems and spatial mapping meshes. 問題をデバッグおよびコードの変更を評価するために役立つ信頼性が高く、反復可能な入力を提供するために使用できます。This can be used to provide reliable, repeatable input, which can be useful for debugging problems and evaluating changes to your code.
  • シナリオを再現するには、ライブの HoloLens からネットワーク経由で空間マッピング データをキャプチャし、後続のデバッグ セッションで再利用をディスクに保存します。To reproduce a scenarios, capture spatial mapping data over the network from a live HoloLens, then save it to disk and reuse it in subsequent debugging sessions.
  • Windows デバイスのポータル 3D 表示空間マッピング システム経由で現在使用可能な空間のサーフェスのすべてを表示する方法を提供します。The Windows device portal 3D view provides a way to see all of the spatial surfaces currently available via the spatial mapping system. これにより、アプリケーション内の空間のサーフェスの比較の基準たとえば、空間のサーフェスが見つからないか、間違った場所に表示されているかどうかを簡単に判断できます。This provides a basis of comparison for the spatial surfaces inside your application; for example you can easily tell if any spatial surfaces are missing or are being displayed in the wrong place.

プロトタイプ作成の一般的なガイダンスGeneral prototyping guidance

  • エラー空間のマッピングでデータが厳密に、ユーザー エクスペリエンスに影響のさまざまな環境でアプリケーションをテストすることをお勧めします。Because errors in the spatial mapping data may strongly affect your user's experience, we recommend that you test your application in a wide variety of environments.
  • 机に向ってなど、同じ場所に常にテストの習慣を身にトラップの取得はありません。Don't get trapped in the habit of always testing in the same location, for example at your desk. 別の位置、図形、サイズおよびマテリアルのさまざまな形でテストしてください。Make sure to test on various surfaces of different positions, shapes, sizes and materials.
  • 同様に、代理または録画済みのデータはデバッグに便利ですが同じのいくつかのテスト_ケースにも依存しないなります。Similarly, while synthetic or recorded data can be useful for debugging, don't become too reliant upon the same few test cases. 以前にキャッチより多くのさまざまなテストに関する重要な問題を検索するこの遅れる可能性があります。This may delay finding important issues that more varied testing would have caught earlier.
  • まったく同じ方法で実行、HoloLens、またはアプリケーションを使用することはできませんので、実際 (および理想的にはされていない coached) のユーザーとテストを実行することをお勧めを勧めします。It is a good idea to perform testing with real (and ideally un-coached) users, because they may not use the HoloLens or your application in exactly the same way that you do. 実際、驚かれるかもしれませんが分岐する方法のユーザーの動作、サポート技術情報と前提条件を指定できます。In fact, it may surprise you how divergent people's behavior, knowledge and assumptions can be!

関連項目See also