Freigeben über


AlignSubtree Klasse

Definition

Skript, um einen unabhängigen AlignmentManager zum Ausrichten einer bestimmten Unterstruktur unabhängig vom Rest der Szene zu verwenden.

public class AlignSubtree : UnityEngine.MonoBehaviour
type AlignSubtree = class
    inherit MonoBehaviour
Public Class AlignSubtree
Inherits MonoBehaviour
Vererbung
UnityEngine.MonoBehaviour
AlignSubtree

Hinweise

Die daran ausgerichtete Teilstruktur bleibt durch die unabhängige globale Weltsperrung durch den WorldLockingManager weltgebunden. Dieses Skript veranschaulicht, wie Sie einen unabhängigen AlignmentManager erstellen und verwalten und dessen Ausrichtung auf eine bestimmte Unterstruktur innerhalb der Szene (die Unterstruktur) anwenden. Der globale AlignmentManager, der dem WorldLockingManager gehört und von diesem verwaltet wird, wendet seine Ausrichtung auf den globalen Unity-Koordinatenraum (eingefrorener Raum) an. Der Wunsch besteht darin, die gleiche Space Pin-Funktion zu verwenden, um Teile eines virtuellen Modells (Teilbaum) an die physische Welt anzuheften, ohne den globalen Raum zu beeinträchtigen. Dazu sind mehrere Schritte erforderlich: 1. Create einen neuen lokalen AlignmentManager (unterscheidet sich von dem, der dem WorldLockingManager gehört). Siehe Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.CheckInternalWiring. 2. Zeigen Sie die gewünschten SpacePins, um den lokalen AlignmentManager zu verwenden (standardmäßig verwenden sie den globalen). Siehe Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.OnEnable. 3. Verwenden Sie den lokalen AlignmentManager, um eine Korrekturpose zu berechnen und auf die Unterstruktur anzuwenden. Siehe Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.Update. In Punkt 2. gibt es eine Reihe von vernünftigen Methoden, um zu ernten, welche SpacePins diesen lokalen AlignmentManager verwenden sollten. Die hier verwendete Methode, das Aufrufen von GetComponentsInChildren, ist nur eine solche Methode.

Konstruktoren

AlignSubtree()

Skript, um einen unabhängigen AlignmentManager zum Ausrichten einer bestimmten Unterstruktur unabhängig vom Rest der Szene zu verwenden.

Felder

subTree

Die zu ausrichtende Transformation. Wenn nicht festgelegt, wird this.transform ausgerichtet.

Eigenschaften

AlignmentManager

Im Besitz des unabhängigen AlignmentManagers.

CollectFromTree

Sammeln Sie alle SpacePins aus dieser Unterstruktur, um sie zu verwalten.

Orienter

Optionaler Orientierungsgeber für implizite Orientierungs-SpacePins. Wenn NULL ist, wird in der Unterstruktur danach gesucht.

SaveFileName

Dateiname zum Speichern in und Laden aus. Standardmäßig wird der Name von gameObject verwendet. Verwenden Sie den Schrägstrich "/" für Unterordner.

Methoden

AddOwnedPin(SpacePin)

Fügen Sie der Liste der eigenen Pins explizit einen Pin hinzu.

ClaimPinOwnership()

Dies sollte immer dann aufgerufen werden, wenn der Liste der besitzereigenen Pins hinzugefügt werden.

ClearOwnedPins()

Löschen Sie die gesamte Liste der eigenen Leerzeichennadeln.

Load()

Expliziter Befehl zum Laden des Ausrichtungs-Managers aus dem Speicher.

RemoveOwnedPin(SpacePin)

Entfernen Sie einen bestimmten Pin aus der Liste der eigenen Pins.

Save()

Expliziter Befehl zum Speichern des Ausrichtungs-Managers zum Speichern.

Ereignisse

OnAlignManagerCreated

Wird ausgelöst, wenn in CheckInternalWiring ein neuer AlignmentManager erstellt wurde

Gilt für: