Partilhar via


AlignSubtree Classe

Definição

Script para usar um AlignmentManager independente para alinhar uma subárvore específica, independente do restante da cena.

public class AlignSubtree : UnityEngine.MonoBehaviour
type AlignSubtree = class
    inherit MonoBehaviour
Public Class AlignSubtree
Inherits MonoBehaviour
Herança
UnityEngine.MonoBehaviour
AlignSubtree

Comentários

A subárvore alinhada por isso permanecerá bloqueada pelo bloqueio mundial global independente pelo WorldLockingManager. Este script ilustra como criar e gerenciar um AlignmentManager independente e aplicar seu alinhamento a uma subárvore específica dentro da cena (a Subárvore). O AlignmentManager global, de propriedade e gerenciado pelo WorldLockingManager, aplica seu alinhamento ao espaço de coordenadas global do Unity (espaço congelado). O desejo aqui é usar o mesmo recurso de Fixação de Espaço para fixar partes de um modelo virtual (subárvore) no mundo físico, sem afetar o espaço global. Para fazer isso, é necessário várias etapas: 1. Create um novo AlignmentManager de propriedade local (diferente do que pertence ao WorldLockingManager). Consulte Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.CheckInternalWiring. 2. Aponte os SpacePins desejados para usar o AlignmentManager de propriedade local (eles usam o padrão para usar o global). Consulte Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.OnEnable. 3. Use o AlignmentManager local para calcular uma pose de correção e aplicá-la à subárvore. Consulte Microsoft.MixedReality.WorldLocking.Core.AlignSubtree.Update. No ponto 2., há várias maneiras razoáveis de coletar quais SpacePins devem usar esse AlignmentManager local, o método usado aqui, invocando GetComponentsInChildren, é apenas uma dessas maneiras.

Construtores

AlignSubtree()

Script para usar um AlignmentManager independente para alinhar uma subárvore específica, independente do restante da cena.

Campos

subTree

A transformação a ser alinhada. Se não estiver definido, alinhará this.transform.

Propriedades

AlignmentManager

AlignmentManager independente de propriedade.

CollectFromTree

Colete todos os SpacePins desta subárvore para gerenciar.

Orienter

Orientador opcional para SpacePins de orientação implícita. Se for nulo, o procurará na subárvore.

SaveFileName

Nome do arquivo para salvar e carregar. O padrão é o nome de gameObject. Use a barra "/" para subpastas.

Métodos

AddOwnedPin(SpacePin)

Adicione explicitamente um pino à lista de pinos de propriedade.

ClaimPinOwnership()

Isso deve ser chamado sempre que os pinos forem adicionados à lista de propriedade.

ClearOwnedPins()

Desmarque toda a lista de pinos de espaço de propriedade.

Load()

Comando explícito para carregar o gerenciador de alinhamento do repositório.

RemoveOwnedPin(SpacePin)

Remova um pin específico da lista de pinos de propriedade.

Save()

Comando explícito para salvar o gerenciador de alinhamento no repositório.

Eventos

OnAlignManagerCreated

Acionado quando um novo AlignmentManager foi criado em todo CheckInternalWiring

Aplica-se a