Condividi tramite


SpacePin Classe

Definizione

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

public class SpacePin : UnityEngine.MonoBehaviour
type SpacePin = class
    inherit MonoBehaviour
Public Class SpacePin
Inherits MonoBehaviour
Ereditarietà
UnityEngine.MonoBehaviour
SpacePin
Derivato

Commenti

Questo componente acquisisce la posa iniziale del gameObject e quindi una seconda posa. Aggiunge quindi tale coppia a WorldLocking Alignment Manager. Il manager negozia quindi tra tutti questi pin aggiunti, in base alla posizione attuale della testa, per generare un mapping da frame a frame allineando lo spazio bloccato, ovvero lo spazio globale di Unity, in modo che i pin corrispondano al più possibile. Un altro modo per frasere questo è: Data una posa arbitraria (la "posa di modellazione") e una posa allineata in qualche modo al mondo reale (la "posizione bloccata al mondo"), applicare una correzione alla fotocamera in modo che un oggetto virtuale con coordinate della posa di modellazione apparirà sovrapposto al mondo reale in corrispondenza della posizione e dell'orientamento descritti dalla posa bloccata. Per questo componente, la posa bloccata deve entrare tramite una delle tre API seguenti: SetFrozenPose(Pose) con la posizione di input in Frozen Space, che include l'aggiunta. SetSpongyPose(Pose) con la posizione di input in Spongy Space, che è lo spazio del padre della fotocamera, ed è lo stesso spazio in cui si sposta la fotocamera e che le API native restituiscono valori in (ad esempio XR). SetLockedPose(Pose) con posizione di input in Locked Space, che è lo spazio stabilizzato dalla DLL del motore Frozen World, ma escludendo l'aggiunta. Si noti che poiché lo spazio bloccato viene spostato da AlignmentManager, chiamando SetFrozenPose(p) con lo stesso pose p due volte è probabilmente un errore, poiché pose p fa riferimento a una posizione diversa dopo la prima chiamata.

Costruttori

SpacePin()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

Proprietà

AlignmentManager

Funzione di accesso per eseguire l'override dello script AlignmentManager.

AnchorId

Questo wrapper per anchorId è dovuto al fatto che anchorId deve essere archiviato come ulong, ovvero la classe di base per l'enumerazione AnchorId. Unity supporta solo le enumerazioni basate su int, quindi si lamenta di serializzazione e così via per l'AnchorId basato su ulong.

AnchorName

Specificare un nome di ancoraggio univoco. Viene usato per la persistenza.

FragmentId

ID per il frammento in cui appartiene questo pin.

LockedPose

Funzione di accesso per la posizione bloccata a livello globale per le classi derivate.

Manager

Accesso in sola lettura alle dipendenze del gestore dalle classi derivate.

ModelingPoseGlobal

Prima della coppia di pose inviate al gestore allineamento per l'allineamento.

ModelPositionSource

Posizione in cui trovare la posizione dello spazio del modello nella destinazione. La trasformazione è preferibile, ma se le trasformazioni vengono compilate in, il renderer o il collisore può essere più appropriato.

PinActive

Indica se questo pin di spazio è attivo, usare lo spazio di blocco

RestorePoseLocal

Posa per il ripristino dopo la manipolazione (se disponibile).

Metodi

ExtractModelPose()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

ExtractModelPoseFromCollider()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

ExtractModelPoseFromRenderer()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

ExtractModelPoseFromTransform()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

ForceAttachment()

Assicurarsi che sia presente un allegato e che sia posizionato in modo aggiornato.

GetModelPoseFromGlobalPosition(Vector3)

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

OnDestroy()

In caso di eliminazione definitiva, annullare la registrazione per l'evento caricato.

OnLocationUpdate(Pose)

Callback per le operazioni di refit. Applicare la trasformazione di regolazione alla posa bloccata.

PushAlignmentData(IAlignmentManager)

Comunicare i dati da questo punto al gestore allineamento.

ReleaseAttachment()

Eliminare qualsiasi punto di allegato creato in precedenza.

Reset()

Indietro allo stato iniziale, inclusa la rimozione di autofatti dal gestore di allineamento.

ResetModelingPose()

Reimpostare la posizione di modellazione sulla trasformazione corrente.

RestoreOnLoad()

Callback alla notifica del database del gestore di allineamento per verificare se il set di impostazioni è stato salvato in modo permanente e ripristinarlo in caso affermativo.

SendAlignmentData(IAlignmentManager)

Notificare al responsabile che tutti gli aggiornamenti necessari sono stati inviati e sono pronti per l'elaborazione.

SetFrozenPose(Pose)

Trasformare la posizione in Spazio bloccato e passare attraverso.

SetLockedPose(Pose)

Registrare la posizione bloccata ed eseguire il push dei dati nel gestore.

SetSpongyPose(Pose)

Trasformare la posizione in Spazio bloccato e passare attraverso.

Start()

Helper dei componenti per l'aggiunta dello spazio bloccato globale in un singolo punto di riferimento.

Si applica a