SpacePin Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência.
public class SpacePin : UnityEngine.MonoBehaviour
type SpacePin = class
inherit MonoBehaviour
Public Class SpacePin
Inherits MonoBehaviour
- Herança
-
UnityEngine.MonoBehaviourSpacePin
- Derivado
Comentários
Esse componente captura a pose inicial de seu gameObject e, em seguida, uma segunda pose. Em seguida, ele adiciona esse par ao Gerenciador de Alinhamento do WorldLocking. Em seguida, o gerente negocia entre todos esses pinos adicionados, com base na pose da cabeça atual, para gerar um mapeamento quadro a quadro alinhando o Espaço Congelado, ou seja, o Espaço Global do Unity, de modo que os pinos correspondam da melhor forma possível. Outra maneira de formular isso é: dada uma pose arbitrária (a "pose de modelagem") e uma pose alinhada de alguma forma ao mundo real (a "pose bloqueada do mundo"), aplique uma correção à câmera de modo que um objeto virtual com coordenadas da pose de modelagem apareça sobreposto no mundo real na posição e orientação descritas pela pose bloqueada. Para esse componente, a pose bloqueada deve entrar por meio de uma das três APIs a seguir: SetFrozenPose(Pose) com pose de entrada no Espaço Congelado, que inclui fixação. SetSpongyPose(Pose) com pose de entrada no Espaço Esponjoso, que é o espaço do pai da câmera, e é o mesmo espaço em que a câmera se move e as APIs nativas retornam valores em (por exemplo, XR). SetLockedPose(Pose) com pose de entrada em Espaço Bloqueado, que é o espaço estabilizado pela DLL do mecanismo Frozen World, mas excluindo a fixação. Observe que, como o Espaço Congelado é deslocado pelo AlignmentManager, chamar SetFrozenPose(p) com a mesma Pose p duas vezes provavelmente é um erro, já que Pose p se referiria a um local diferente após a primeira chamada.
Construtores
SpacePin() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
Propriedades
AlignmentManager |
Acessador para substituir o AlignmentManager do script. |
AnchorId |
Esse wrapper para o anchorId é porque o anchorId precisa ser armazenado como um ulong, que é a classe base para a enumeração AnchorId. O Unity dá suporte apenas a enumerações baseadas em int, portanto, reclamará da serialização etc. para o AnchorId baseado em ulong. |
AnchorName |
Forneça um nome de âncora exclusivo. Isso é usado para persistência. |
FragmentId |
ID do fragmento em que este pino pertence. |
LockedPose |
Acessador para pose world locked para classes derivadas. |
Manager |
Acesso somente leitura à dependência do gerenciador de classes derivadas. |
ModelingPoseGlobal |
Primeiro do par de poses enviadas ao gerenciador de alinhamento para alinhamento. |
ModelPositionSource |
Onde encontrar a posição do espaço do modelo no destino. A transformação é preferível, mas se as transformações forem feitas, o renderizador ou o colisor poderão ser mais apropriados. |
PinActive |
Se esse pino de espaço está no espaço de fixação de uso ativo |
RestorePoseLocal |
Pose para restaurar após a manipulação (se houver). |
Métodos
ExtractModelPose() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
ExtractModelPoseFromCollider() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
ExtractModelPoseFromRenderer() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
ExtractModelPoseFromTransform() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
ForceAttachment() |
Verifique se há um anexo e se ele está posicionado atualizado. |
GetModelPoseFromGlobalPosition(Vector3) |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |
OnDestroy() |
Ao destruir, cancele o registro do evento carregado. |
OnLocationUpdate(Pose) |
Retorno de chamada para operações de reajuste. Aplique a transformação de ajuste à pose bloqueada. |
PushAlignmentData(IAlignmentManager) |
Comunique os dados desse ponto para o gerenciador de alinhamento. |
ReleaseAttachment() |
Descarte qualquer ponto de anexo criado anteriormente. |
Reset() |
Voltar para o estado inicial, incluindo a remoção de auto-artefatos do gerenciador de alinhamento. |
ResetModelingPose() |
Redefina a pose de modelagem para a transformação atual. |
RestoreOnLoad() |
O retorno de chamada na notificação do banco de dados do gerenciador de alinhamento para marcar se essa predefinição tiver sido persistida e restaurá-la para a operação, se tiver. |
SendAlignmentData(IAlignmentManager) |
Notifique o gerente de que todas as atualizações necessárias foram enviadas e estão prontas para processamento. |
SetFrozenPose(Pose) |
Transforme a pose para Espaço Bloqueado e passe. |
SetLockedPose(Pose) |
Registre a pose bloqueada e envie dados por push para o gerenciador. |
SetSpongyPose(Pose) |
Transforme a pose para Espaço Bloqueado e passe. |
Start() |
Auxiliar de componente para fixar o espaço bloqueado do mundo em um único ponto de referência. |