Partager via


AlignSubtree Classe

Définition

Script pour utiliser un AlignmentManager indépendant pour aligner une sous-arborescence spécifique, indépendamment du reste de la scène.

public class AlignSubtree : UnityEngine.MonoBehaviour
type AlignSubtree = class
    inherit MonoBehaviour
Public Class AlignSubtree
Inherits MonoBehaviour
Héritage
UnityEngine.MonoBehaviour
AlignSubtree

Remarques

La sous-arborescence alignée par ce restera verrouillée par le verrouillage mondial global indépendant par WorldLockingManager. Ce script montre comment créer et gérer un AlignmentManager indépendant et appliquer son alignement à une sous-arborescence spécifique au sein de la scène (l’arborescence sub). Le AlignmentManager global, détenu et géré par WorldLockingManager, applique son alignement à l’espace de coordonnées Unity global (espace figé). Le désir ici est d’utiliser la même fonctionnalité d’épingle d’espace pour épingler des parties d’un modèle virtuel (sous-arborescence) au monde physique, sans affecter l’espace global. Pour ce faire, plusieurs étapes sont nécessaires : 1. Create un nouvel AlignmentManager appartenant localement (distinct de celui appartenant au WorldLockingManager). Consultez Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.CheckInternalWiring. 2. Pointez les SpacePins souhaités pour utiliser l’AlignmentManager appartenant localement (ils utilisent par défaut l’élément global). Consultez Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.OnEnable. 3. Utilisez le AlignmentManager local pour calculer une position de correction et l’appliquer à la sous-arborescence. Consultez Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.Update. Au point 2., il existe un certain nombre de façons raisonnables de récolter les SpacePins qui doivent utiliser cet AlignmentManager local, la méthode utilisée ici, en appelant GetComponentsInChildren, est l’une de ces méthodes.

Constructeurs

AlignSubtree()

Script pour utiliser un AlignmentManager indépendant pour aligner une sous-arborescence spécifique, indépendamment du reste de la scène.

Champs

subTree

Transformation à aligner. Si ce n’est pas défini, aligne this.transform.

Propriétés

AlignmentManager

AlignmentManager indépendant détenu.

CollectFromTree

Collectez tous les SpacePins de cette sous-arborescence à gérer.

Orienter

Orientation facultative pour les spacepins d’orientation implicite. Si la valeur est null, la recherche dans la sous-arborescence.

SaveFileName

Nom de fichier pour l’enregistrement et le chargement à partir de. La valeur par défaut est le nom de gameObject. Utilisez la barre oblique « / » pour les sous-dossiers.

Méthodes

AddOwnedPin(SpacePin)

Ajoutez explicitement une épingle à la liste des broches détenues.

ClaimPinOwnership()

Cela doit être appelé chaque fois que des broches sont ajoutées à la liste détenue.

ClearOwnedPins()

Effacez toute la liste des repères d’espace détenus.

Load()

Commande explicite pour charger le gestionnaire d’alignement à partir du magasin.

RemoveOwnedPin(SpacePin)

Supprimez une épingle spécifique de la liste des broches détenues.

Save()

Commande explicite pour enregistrer le gestionnaire d’alignement à stocker.

Événements

OnAlignManagerCreated

Déclenché lorsqu’un nouvel AlignmentManager a été créé dans CheckInternalWiring

S’applique à