Konfigurieren von Mesh-Beobachtern für das Gerät – MRTK2
In diesem Leitfaden erfahren Sie, wie Sie den sofort einsatzbereiten Spatial Mesh Observer in MRTK konfigurieren, der die Windows Mixed Reality-Plattform unterstützt (z. B. HoloLens). Die Von 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 beim Konfigurieren eines Spatial Mesh Observer-Profils für das Spatial Awareness-System definiert werden.
- Die konkrete Implementierung des Beobachtertyps
- Liste der unterstützten Plattformen zum Ausführen dieses Beobachters
Hinweis
Alle Beobachter müssen die IMixedRealitySpatialAwarenessObserver-Schnittstelle erweitern.
Allgemeine Einstellungen
Startverhalten
Das Startverhalten gibt an, ob der Beobachter beim ersten Instanziieren mit der Ausführung beginnt. Die zwei Optionen sind:
- Automatischer Start : Der Standardwert, mit dem der Beobachter den Vorgang nach der Initialisierung beginnt
- Manueller Start : Der Beobachter wartet darauf, dass er zum Start weitergeleitet wird.
Wenn Sie den manuellen Start verwenden, müssen Sie sie zur Laufzeit per Code fortsetzen und anhalten.
Updateintervall
Die Zeit (in Sekunden) zwischen Den Anforderungen an die Plattform zum Aktualisieren räumlicher Gitterdaten. Typische Werte liegen im Bereich von 0,1 und 5,0 Sekunden.
Ist stationärer Beobachter
Gibt an, ob der Beobachter stationär bleiben oder sich mit dem Benutzer bewegen und aktualisieren soll. Wenn true, bleibt das Observer Shape mit dem durch Beobachtungsausdehnungen definierten Volumen beim Start am Ursprung. Wenn false, folgt der Observer-Bereich dem Kopf des Benutzers als Ursprung des Shapes.
Es werden keine Gitterdaten für einen physischen Bereich außerhalb des Observer-Raums berechnet, wie durch die folgenden Eigenschaften definiert: Is Stationary Observer, Observer Shape* und Observation Extents.
Observer Shape
Die Beobachterform definiert den Typ des Volumens, das der Gitterbeobachter bei der Beobachtung von Gittern verwendet. Folgende Optionen werden unterstützt:
- Axis Aligned Cube : Rechteckige Form, die an den Achsen des Weltkoordinatensystems ausgerichtet bleibt, wie beim Anwendungsstart bestimmt.
- Benutzerbündiger Cube : Rechteckige Form, die sich rotiert, um auf das lokale Koordinatensystem des Benutzers auszurichten.
- Kugel : Ein kugelförmiges Volumen mit einem Zentrum am Ursprung des Weltraums. Der X-Wert der Observation Extents-Eigenschaft wird als Radius der Kugel verwendet.
Beobachtungsausdehnungen
Die Beobachtungsausdehnungen definieren den Abstand vom Beobachtungspunkt, der beobachtet wird.
Physikeinstellungen
Physikebene
Die Physikebene, auf der räumliche Gitterobjekte platziert werden, um mit den Unity Physics- und RayCast-Systemen zu interagieren.
Hinweis
Mixed Reality Toolkit reserviert standardmäßig Ebene 31 für die Verwendung durch Spatial Awareness-Beobachter.
Normalität neu berechnen
Gibt an, ob der Gitterbeobachter die Normaldaten des Gitternetzes nach der Beobachtung neu berechnet oder nicht. Diese Einstellung ist verfügbar, um sicherzustellen, dass Anwendungen Gitter mit gültigen Normaldaten auf Plattformen empfangen, die sie nicht mit Gittern zurückgeben.
Detailgradeinstellungen
Detailebene
Gibt den Detailgrad (LOD) der räumlichen Gitterdaten an. Die derzeit definierten Werte sind Grob, Fein und Benutzerdefiniert.
Grob: Hat einen geringeren Einfluss auf die Anwendungsleistung und ist eine ausgezeichnete Wahl für die Navigations-/Ebenensuche.
Mittel : Ausgewogene Einstellung häufig nützlich für Umgebungen, die die Umgebung kontinuierlich auf große Features, Böden und Wände sowie Verdeckungsdetails überprüfen.
Fein : Im Allgemeinen hat eine höhere Auswirkung auf die Anwendungsleistung und ist eine gute Option für Verschlüsse.
Benutzerdefiniert : Erfordert, dass die Anwendung die Eigenschaft Triangles/Cubic Meter angibt, und ermöglicht es Anwendungen, die Genauigkeit im Vergleich zu den Leistungsauswirkungen des räumlichen Gitterbeobachters zu optimieren.
Hinweis
Es ist nicht garantiert, dass alle Dreiecke/Kubikmeterwerte von allen Plattformen berücksichtigt werden. Experimente und Profilerstellungen werden dringend empfohlen, wenn sie eine benutzerdefinierte LOD verwenden.
Dreiecke pro Kubikmeter
Gültig, wenn sie die Benutzerdefinierte Einstellung für die Eigenschaft Detailebene verwenden und die Dreiecksdichte für das räumliche Gitter angibt.
Anzeigeeinstellungen
Anzeigeoption
Gibt an, wie räumliche Gitter vom Beobachter angezeigt werden sollen. Diese Werte werden unterstützt:
- None: Observer rendert das Gitter nicht.
- Sichtbar: Gitterdaten werden mithilfe des sichtbaren Materials sichtbar
- Okklusion: Gitterdaten werden elemente in der Szene mit dem Okklusionsmaterial verdecken
Räumliche Beobachter können zur Laufzeit per Code fortgesetzt/angehalten werden.
Warnung
Wenn Sie Die Anzeigeoption auf Keine festlegen, wird die Ausführung des Beobachters NICHT verhindert. Wenn Sie alle Beobachter anhalten möchten, müssen Die Anwendungen alle Beobachter über CoreServices.SpatialAwareness.SuspendObservers()
Sichtbares Material
Gibt das Material an, das beim Visualisieren des Räumlichen Gitters verwendet werden soll.
Verdeckungsmaterial
Gibt das Material an, das verwendet werden soll, um das Räumliche Gitter zu verdecken Hologramme.