AlignmentManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementierung des Koordinatensystems von Unity auf Unity-Ebene
mit einem diskreten endlichen Satz von Markern in der realen Welt.
public class AlignmentManager : Microsoft.MixedReality.WorldLocking.Core.IAlignmentManager
type AlignmentManager = class
interface IAlignmentManager
Public Class AlignmentManager
Implements IAlignmentManager
- Vererbung
-
AlignmentManager
- Implementiert
Hinweise
Zusätzlich zur Verankerung des ansonsten beliebigen WorldLocked-Koordinatenraums mit diesem Satz von Korrespondenzen wird damit das Problem der Tracker-Skalierung behoben, bei dem aufgrund eines Trackerfehlers eine bekannte Entfernung in der realen Welt eine andere Entfernung im Unity-Raum durchquert. Dies bedeutet, dass bei einem großen Objekt der Länge L Meter im Unity-Raum, beginnend an einem Ende und gehenden L-Metern nicht am anderen Ende des Objekts enden, sondern nur innerhalb von +- 10 % von L. Die Verwendung dieses Diensts bietet ziemlich genaue Übereinstimmung an Ausrichtungspunkten, und durch Interpolation wird eine ziemlich genaue Übereinstimmung innerhalb der konvexen Ausrichtungspunkte erzielt. Beachten Sie, dass keine Extrapolation durchgeführt wird, sodass außerhalb des konvexen Satz von Ausrichtungspunkten Ergebnisse, insbesondere in Bezug auf die Skalierungskompensation, weniger genau sind.
Konstruktoren
AlignmentManager(WorldLockingManager) |
Der Konstruktor wird an einen bestimmten WorldLockingManager gebunden. Registriert auch für Ereignisse zum Laden von Szenen. |
Eigenschaften
PinnedFromLocked |
Die Pose, die in die Hierarchie der Kamera oberhalb der Transformation "WorldLocking Adjustment" eingefügt werden soll (falls vorhanden). |
SaveFileName |
Datei, in der gespeichert und geladen werden soll. |
Methoden
AddAlignmentAnchor(String, Pose, Pose) |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
ClearAlignmentAnchors() |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
ComputePinnedPose(Pose) |
Führen Sie den gewichteten Durchschnitt aller aktiven Verweishaltungen aus, um eine Ausrichtungsposition zu erhalten. |
Dispose() |
Entsorgen Sie interne Daten beim Herunterfahren. |
Finalize() |
Entsorgen Sie interne Daten beim Herunterfahren. |
GetAlignmentPose(AnchorId, Pose) |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
IsValidSavePath(String) |
Überprüfen Sie die Gültigkeit eines Speicher-/Ladepfads. Alle Pfade, die diesen Test nicht bestehen, werden ohne Fehler ignoriert. |
Load() |
Laden Sie die Datenbank, und geben Sie eine Benachrichtigung aus, wenn sie geladen wird. |
RegisterForLoad(PostAlignmentLoadedDelegate) |
Registrieren Sie sich für Benachrichtigungen nach allen erfolgreichen Ladevorgängen. |
RemoveAlignmentAnchor(AnchorId) |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
RestoreAlignmentAnchor(String, Pose) |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
Save() |
Speichern Sie die Datenbank explizit. |
SendAlignmentAnchors() |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |
UnregisterForLoad(PostAlignmentLoadedDelegate) |
Heben Sie die Registrierung für Benachrichtigungen nach dem Laden nach der Registrierung über auf RegisterForLoad(PostAlignmentLoadedDelegate). |
Ereignisse
OnTriangulationBuilt |
Implementierung des Koordinatensystems von Unity auf Unity-Ebene |