Strumenti e visualizzatori

Gli strumenti e i visualizzatori nello spazio dei nomi Microsoft.MixedReality.WorldLocking.Tools sono utili durante lo sviluppo. Possono anche essere un punto di partenza per l'interazione diretta avanzata con il sistema WLT (World Locking Tools).

Anche se non sono destinati all'utilizzo diretto così come sono all'interno di un'applicazione, lo sviluppatore dell'applicazione è libero di scegliere di farlo.

WorldLocking.Core è progettato per funzionare così come è in qualsiasi scenario di applicazione appropriato. Tuttavia, gli strumenti possono fare ipotesi sull'applicazione. Questi presupposti possono renderli inappropriati in alcune situazioni.

Prima di incorporare uno degli strumenti direttamente all'interno dell'applicazione di spedizione, è consigliabile creare una versione di tale strumento personalizzata per i propri requisiti e risorse.

Strumenti

Aggiustatori

I regolatori sono componenti che gestiscono gli eventi di refit. In particolare, creano punti allegati. In caso di operazione di adattamento, AttachmentPoint funge da callback di notifica. L'oggetto Adjuster gestisce l'evento in modo appropriato.

Vedere altre informazioni concettuali su AttachmentPoints.

La reazione esatta a un evento di adattamento varia per diversi tipi di oggetti ed è molto specifica dell'applicazione. Ad esempio, se fragment dell'oggetto è attualmente inattivo, l'oggetto deve essere visualizzato? Per alcune applicazioni, poiché non è possibile determinare la corretta posizione dell'oggetto, deve essere nascosta. Per altre applicazioni, potrebbe essere preferibile visualizzare l'oggetto in una posizione temporaneamente errata rispetto a subire la confusione della scomparsa. E anche per le applicazioni che devono nascondere l'oggetto, esistono diversi modi per eseguire il nascondiglio (ad esempio, disabilitando o spostandosi lontano).

I componenti AdjusterFixed e AdjusterMoving gestiscono in modo minimo due scenari comuni.

Il componente AdjusterFixed presuppone che la destinazione sia in genere non in movimento. Se gli strumenti di blocco globale inviano una posizione di regolazione a causa di un evento di refit, è destinato a mantenere l'oggetto AdjusterFixed in tutto il mondo.

Al contrario, il componente AdjusterMoving presuppone che la destinazione sia mobile tramite lo spazio delle coordinate unity. Mantiene il sistema World Locking Tools generato dalla posizione della destinazione, in modo che in caso di un'operazione di adattamento, il sistema può fornire la correzione più accurata per mantenere la posizione della destinazione rispetto alla costante del mondo fisico in quel momento.

adapter

I componenti adapter sono destinati solo all'illustrazione. Se ci si trova utilizzando uno degli adapter, è consigliabile riconsiderare il modo in cui si sta tentando di usare Gli strumenti di blocco globale.

In particolare, MRTK dispone già di adattatori predefiniti, quindi non è necessaria alcuna trasformazione del sistema di coordinate aggiuntivo nella parte dell'applicazione.

In alcuni casi, soprattutto se non si usa MRTK, quando si esegue la conversione da risorse native, che segnalano le coordinate dello spazio Spongy, a Frozen Space. In questi casi, lo sviluppatore di applicazioni potrebbe trovare uno degli adapter inclusi qui per essere un buon riferimento.

  • WorldAnchorAdapter : un WorldAnchor regola la posizione di un oggetto nello spazio Spongy per rimanere fisso nello spazio fisico. Questo è ridondante con lo spazio bloccato a livello globale fornito da World Locking Tools e quindi l'oggetto scosterà in Frozen Space. Questo adattatore consente a un WorldAnchor di mantenere la posizione di un oggetto in Frozen Space. Questa operazione non è necessaria, ad eccezione della diagnostica. Tutti gli oggetti nello spazio di coordinate globale di Unity sono bloccati da World Locking Tools.

  • ToggleWorldAnchor : simile al WorldAnchorAdapter, ma può essere attivato o disattivato. Converte automaticamente anche in normale comportamento WorldAnchor quando WorldLockingManager è disabilitato. Utile solo per la diagnostica.

  • FrozenSpatialMapping : un adattatore gestisce e esegue correttamente il rendering dei risultati da un surfaceObserver. Il sistema di riconoscimento spaziale MRTK offre tutte queste funzionalità e altro ancora e non richiede alcuna scheda per l'uso con Gli strumenti di blocco globale.

  • FrozenTapToAdd : l'interfaccia diretta con il sistema di input di Unity richiede la conversione dei dati delle coordinate in ingresso, come illustrato di seguito. Ciò non è necessario con il sistema di input di MRTK.

Visualizzatori

Visualizzazione grafico ancoraggio

AnchorGraphVisual e il prefab associato sono il nucleo delle visualizzazioni fornite. I componenti sono i seguenti:

  1. Assi: le posizioni correnti per le origini dello spazio spugnoso (verde) e dello spazio congelato (blu) vengono visualizzate come identificatori standard dell'asse a 3 frecce.

  2. Ancoraggi Spongy: si tratta degli ancoraggi sottostanti nativi creati per alimentare l'ottimizzazione del motore Frozen World. Ognuno è rappresentato da un anello, insieme a un tag di testo che lo identifica. Inoltre, altre informazioni vengono trasmesse in base al colore e alle dimensioni.

    • Un ancoraggio tracciato attivo sarà verde.

    • Un ancoraggio tracciato con pertinenza zero sarà rosso.

    • Un ancoraggio non supportato sarà giallo.

    • Più grande è l'anello, maggiore è la pertinenza per tale ancoraggio.

  3. Ancoraggi bloccati: questi sono i punti di riferimento corrispondenti in Frozen Space. In assenza di errori di rilevamento, questi saranno esattamente allineati con gli ancoraggi Spongy.

  4. Spongy-Frozen Bordi: questi collegano gli ancoraggi Spongy ai corrispondenti ancoraggi congelati. Poiché in assenza di errori di tracker, questi sarebbero coincidenti, non vedendo questi bordi significa che tutto funziona perfettamente. In ogni caso, questi bordi non devono essere più lunghi di pochi centimetri. Sono rossi sulla fine congelata. Il colore si dissolve in blu sulla estremità spugnosa.

  5. Bordi di ancoraggio: queste sottili linee grigie blu mostrano le connessioni tra ancoraggi Spongy nel grafico di ancoraggio.

Grafico di ancoraggio tipico che attraversa una stanza

L'abilitazione della visualizzazione del grafico di ancoraggio generato da World Locking Tools quando l'utente si sposta sull'ambiente fisico richiede solo l'eliminazione del prefab > AnchorGraphVisual WorldLockingTools > nella scena. Viene aggiunto in modo personalizzato come elemento di pari livello a WorldLockingContext, ma la posizione esatta nella gerarchia non è importante. Tuttavia, non deve essere posizionato nella gerarchia della fotocamera.

Gli ancoraggi nello spazio creati e utilizzati internamente da WLT vengono creati nella posizione della fotocamera. Poiché è sconcertante camminare attraverso un campo di visualizzazioni di ancoraggio a livello di occhio, per impostazione predefinita il sistema li visualizza 1 metro giù dalla loro posizione reale. Per visualizzare le visualizzazioni di ancoraggio nelle posizioni di ancoraggio effettive, impostare il parametro Spostamento verticale del componente Grafico di ancoraggio su zero.

Output aggiuntivo

Gli esempi di blocco globale includono la diagnostica del testo. La maggior parte di queste è rilevante solo per gli sviluppatori di World Locking Tools, piuttosto che per i client delle sue capacità. Sono tuttavia disponibili per la lettura e, come illustrato nello script StatusToText , per la visualizzazione in tempo reale.

Visualizzazione tipica della diagnostica

Per l'analisi postmortem, la sezione Diagnostica di WorldLockingContext può essere molto utile per segnalare errori del motore frozen world. Per altre informazioni , vedere Segnalazione di un bug .