SpacePin 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.
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt.
public class SpacePin : UnityEngine.MonoBehaviour
type SpacePin = class
inherit MonoBehaviour
Public Class SpacePin
Inherits MonoBehaviour
- Vererbung
-
UnityEngine.MonoBehaviourSpacePin
- Abgeleitet
Hinweise
Diese Komponente erfasst die anfängliche Pose ihres gameObject und dann eine zweite Pose. Anschließend wird dieses Paar dem WorldLocking Alignment Manager hinzugefügt. Der Manager verhandelt dann zwischen all diesen hinzugefügten Pins basierend auf der aktuellen Kopfpose, um eine Frame-to-Frame-Zuordnung zu generieren, die den Frozen Space, d. h. Unitys Global Space, so ausgerichtet, dass die Pins so gut wie möglich übereinstimmen. Eine andere Möglichkeit, dies zu formulieren, ist: Bei einer beliebigen Pose (die "Modellierungspose") und einer Pose, die irgendwie an der realen Welt ausgerichtet ist (die "weltgebundene Pose"), wenden Sie eine Korrektur auf die Kamera an, sodass ein virtuelles Objekt mit Koordinaten der Modellierungspose überlagert auf der realen Welt an der Position und Ausrichtung erscheint, die von der gesperrten Pose beschrieben wird. Für diese Komponente muss die gesperrte Pose über eine der folgenden drei APIs eintreffen: SetFrozenPose(Pose) mit Eingabepose in Frozen Space, die das Anheften umfasst. SetSpongyPose(Pose) mit Eingabepose in Spongy Space, dem Raum des übergeordneten Elements der Kamera und demselben Raum, in den sich die Kamera bewegt, und dass native APIs Werte in zurückgeben (z. B. XR). SetLockedPose(Pose) mit Eingabepose in Locked Space, d. h. der durch die Frozen World-Engine-DLL stabilisierte Platz, jedoch ohne Anheften. Beachten Sie, dass das Aufrufen von SetFrozenPose(p) mit demselben Pose p zweimal ein Fehler ist, da der eingefrorene Leerraum vom AlignmentManager verschoben wird, wahrscheinlich ein Fehler ist, da das Pose p nach dem ersten Aufruf auf eine andere Position verweisen würde.
Konstruktoren
SpacePin() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
Eigenschaften
AlignmentManager |
Accessor zum Überschreiben des AlignmentManagers aus dem Skript. |
AnchorId |
Dieser Wrapper für die anchorId liegt daran, dass die anchorId als ulong gespeichert werden muss, die die Basisklasse für die AnchorId-Enumeration ist. Unity unterstützt nur int-basierte Aufzählungen. Daher wird die Serialisierung usw. für die ulong-basierte AnchorId beanstandet. |
AnchorName |
Geben Sie einen eindeutigen Ankernamen an. Dies wird zur Persistenz verwendet. |
FragmentId |
ID für das Fragment, in das dieser Pin gehört. |
LockedPose |
Accessor für weltgebundene Pose für abgeleitete Klassen. |
Manager |
Schreibgeschützter Zugriff auf Managerabhängigkeiten von abgeleiteten Klassen. |
ModelingPoseGlobal |
Zuerst das Paar von Posen, die zur Ausrichtung an den Ausrichtungs-Manager übermittelt werden. |
ModelPositionSource |
Hier finden Sie die Position des Modellraums auf dem Ziel. Die Transformation ist vorzuziehen, aber wenn Transformationen in eingebrannt werden, können Renderer oder Collider besser geeignet sein. |
PinActive |
Ob diese Leerzeichennadel aktiv ist, verwenden Sie den Anheftungsplatz |
RestorePoseLocal |
Pose zur Wiederherstellung nach der Bearbeitung (falls vorhanden). |
Methoden
ExtractModelPose() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
ExtractModelPoseFromCollider() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
ExtractModelPoseFromRenderer() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
ExtractModelPoseFromTransform() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
ForceAttachment() |
Stellen Sie sicher, dass eine Anlage vorhanden ist und auf dem neuesten Stand ist. |
GetModelPoseFromGlobalPosition(Vector3) |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |
OnDestroy() |
Heben Sie beim Zerstören die Registrierung für das geladene Ereignis auf. |
OnLocationUpdate(Pose) |
Rückruf für Refit-Vorgänge. Wenden Sie die Anpassungstransformation auf gesperrte Pose an. |
PushAlignmentData(IAlignmentManager) |
Kommunizieren Sie die Daten von diesem Punkt an den Ausrichtungs-Manager. |
ReleaseAttachment() |
Entfernen Sie alle zuvor erstellten Anlagepunkte. |
Reset() |
Zurück zum Anfangszustand, einschließlich des Entfernens von Selbstartefakten aus dem Ausrichtungs-Manager. |
ResetModelingPose() |
Setzen Sie die Modellierungsposition auf die aktuelle Transformation zurück. |
RestoreOnLoad() |
Rückruf bei Benachrichtigung über die Datenbank des Ausrichtungs-Managers, um zu überprüfen, ob diese Voreinstellung beibehalten wurde, und wiederherstellen sie in den Vorgang, falls vorhanden. |
SendAlignmentData(IAlignmentManager) |
Benachrichtigen Sie den Manager, dass alle erforderlichen Updates übermittelt wurden und zur Verarbeitung bereit sind. |
SetFrozenPose(Pose) |
Transformieren Sie pose in Locked Space und passthrough. |
SetLockedPose(Pose) |
Zeichnen Sie die gesperrte Pose auf, und pushen Sie Daten an den Manager. |
SetSpongyPose(Pose) |
Transformieren Sie pose in Locked Space und passthrough. |
Start() |
Komponentenhilfsprogramm zum Anheften des weltgebundenen Raums an einem einzigen Referenzpunkt. |