Konfigurieren von Gittermodell-Beobachtern für ein Gerät

Dieser Leitfaden führt Sie durch die Konfiguration des vorkonfigurieren Spatial Mesh Observer in MRTK, der die Windows Mixed Reality-Plattform (d.h. HoloLens. Die vom Mixed Reality Toolkit bereitgestellte Standardimplementierung ist die WindowsMixedRealitySpatialMeshObserver-Klasse. Viele der Eigenschaften in diesem Artikel gelten jedoch für andere benutzerdefinierte Observer-Implementierungen.

Profileinstellungen

Die folgenden beiden Elemente müssen zuerst definiert werden, wenn Sie ein Spatial Mesh Observer-Profil für das Spatial Awareness-System konfigurieren.

  1. Die konkrete Implementierung des Beobachtertyps
  2. Liste der unterstützten Plattformen zum Ausführen dieses Beobachters

Hinweis

Alle Beobachter müssen die IMixedRealitySpatialAwarenessObserver-Schnittstelle erweitern.

Mesh Observer– allgemeine Einstellungen Plattformtypen

Allgemeine Einstellungen

Allgemeine Einstellungen für Mesh Observer Einstellungen Genral

Startverhalten

Das Startverhalten gibt an, ob der Beobachter bei der ersten Instanziiert mit der Ausführung beginnt. Die zwei Optionen sind:

  • Automatischer Start: Der Standardwert, bei dem der Beobachter den Vorgang nach der Initialisierung startet.
  • Manueller Start: Der Beobachter wartet darauf, zum Start geleitet zu werden

Wenn Sie den manuellen Startverwenden, müssen Sie sie zur Laufzeit über den Code fortsetzen und ansetzen.

Updateintervall

Die Zeit in Sekunden zwischen Anforderungen an die Plattform, um räumliche Gitternetzdaten zu aktualisieren. Typische Werte liegen im Bereich von 0,1 und 5,0 Sekunden.

Is Stationärer Beobachter

Gibt an, ob der Beobachter unverändert bleiben oder mit dem Benutzer verschieben und aktualisieren soll. True gibt an, dass die Observer-Form mit durch Beobachtungs-Extents definiertem Volume beim Start am Ursprung verbleibt. False gibt an, dass der Beobachterbereich dem Kopf des Benutzers als Ursprung der Form folgt.

Es werden keine Gitternetzdaten für einen physischen Bereich außerhalb des Beobachterbereichs berechnet, wie durch diese Eigenschaften definiert: Is Stationary Observer,Observer Shape* und Observation Extents.

Observer-Form

Die Beobachterform definiert den Volumetyp, den der Gitternetzbeobachter beim Beobachten von Gittern verwendet. Die folgenden Optionen werden unterstützt:

  • Achsenbündiger Würfel: Rechteckige Form, die an den Achsen des Weltkoordinatensystems ausgerichtet bleibt, wie beim Anwendungsstart festgelegt.
  • Vom Benutzer ausgerichteter Würfel: Rechteckige Form, die gedreht wird, um sie am lokalen Koordinatensystem des Benutzers auszurichten.
  • Kugel: Ein pherisches Volume mit einem Mittelpunkt am Ursprung des Weltraums. Der X-Wert der Eigenschaft Observation Extents wird als Radius der Kugel verwendet.

Beobachtungs-Extents

Die Beobachtungsdweite definiert den Abstand vom Beobachtungspunkt, an dem Gitternetze beobachtet werden.

Physikalische Einstellungen

Mesh Observer Physics Einstellungen

Physikalische Ebene

Die physikalische Schicht, auf der räumliche Gitternetzobjekte platziert werden, um mit den Unity-Systemen "Physik" und "RayCast" zu interagieren.

Hinweis

Das Mixed Reality Toolkit reserviert standardmäßig Ebene 31 für die Verwendung durch Beobachter des räumlichen Bewusstseins.

Neuberechnung von Normals

Gibt an, ob der Gitternetzbeobachter die Normalen des Gitters nach der Beobachtung neu berechnet. Diese Einstellung ist verfügbar, um sicherzustellen, dass Anwendungen Gitternetze empfangen, die gültige Normaldaten auf Plattformen enthalten, die sie nicht mit Gittern zurückgeben.

Detailebeneneinstellungen

Mesh Observer Level of Detail Einstellungen

Detailebene

Gibt die Detailebene (LEVEL of Detail, LOD) der räumlichen Gitternetzdaten an. Aktuell definierte Werte sind "Coarse", "Fine" und "Custom".

  • Grob: Wirkt sich weniger auf die Anwendungsleistung aus und ist eine hervorragende Wahl für die Navigations-/Ebenensuche.

  • Mittel: Eine ausgeglichene Einstellung ist häufig nützlich für Erfahrungen, bei denen die Umgebung ständig sowohl auf große Merkmale, Boden- und Wände als auch auf Verschlussdetails überprüft wird.

  • Fein: In der Regel ist eine höhere Auswirkung auf die Anwendungsleistung und eine hervorragende Option für Okklusionsgitter.

  • Benutzerdefiniert: Erfordert, dass die Anwendung die Eigenschaft Dreiecke/kubische Verbrauchsmessung anfordert und Anwendungen ermöglicht, die Genauigkeit im Vergleich zu den Leistungseinwirkungen des Raumgitterbeobachters zu optimieren.

Hinweis

Es ist nicht garantiert, dass alle Werte für Dreiecke/kubische Zähler von allen Plattformen verwendet werden. Experimentieren und Profilerstellung wird dringend empfohlen, wenn Sie eine benutzerdefinierte LOD verwenden.

Dreiecke pro kubischer Verbrauchsmessung

Gültig, wenn die Einstellung Benutzerdefiniert für die Detailebeneneigenschaft verwendet wird, und gibt die Dreiecksdichte für das räumliche Netz an.

Anzeigeeinstellungen

Mesh Observer Display Einstellungen

Anzeigeoption

Gibt an, wie räumliche Gitternetze vom Beobachter angezeigt werden sollen. Diese Werte werden unterstützt:

  • Keine: Observer rendert das Gitternetz nicht
  • Sichtbar: Gitternetzdaten werden mithilfe des sichtbaren Materials angezeigt.
  • Verdecken: Gitternetzdaten verdecken Elemente in der Szene mithilfe des Occlusion-Materials.

Auswählen der Spatial Awareness-Systemimplementierung

Raumbeobachter können zur Laufzeit über Code fortgesetzt/angehalten werden.

Warnung

Wenn Sie die Anzeigeoption auf Keine festlegen,wird die Ausführung des Beobachters NICHT verhindern. Wenn Sie alle Beobachter beenden möchten, müssen Anwendungen alle Beobachter über anhalten. CoreServices.SpatialAwareness.SuspendObservers()

Sichtbares Material

Gibt das Material an, das beim Visualisieren des räumlichen Gitters verwendet werden soll.

Okklusionsmaterial

Gibt das Material an, das verwendet werden soll, damit das räumliche Netz Hologramme verdecken kann.

Siehe auch