Esempio di puntina spaziatrice
La funzionalità illustrata nell'esempio di pin spaziale è disponibile anche nella scena principale World Locked Physics Sample.
Tuttavia, la scena del segnaposto spaziatrice offre una visualizzazione semplificata e più focalizzata della funzionalità Pin spazio. È destinato ad essere più vicino ai lavori interni di un'applicazione reale, che deve allineare un oggetto o oggetti di grandi dimensioni con caratteristiche del mondo reale.
Pertanto manca molte delle opzioni e dell'esperienza utente di runtime dell'esempio fisico più generale World Locked Physics.
Impostazioni predefinite
Le impostazioni di World Locking Tools Manager applicate possono essere esaminate in Unity Inspector selezionando il nodo WorldLocking > WorldLockingManager.
In particolare, le funzionalità di salvataggio automatico e caricamento automatico degli strumenti di blocco globale sono abilitate. Pertanto, dopo aver allineato le sfere e aver misurato il raggio alle caratteristiche reali, come descritto di seguito, la sessione successiva all'avvio riprenderà automaticamente tale allineamento.
Per reimpostare l'esempio in uno stato pulito, disinstallarlo e di nuovo distribuirlo. Ci sono, naturalmente, API per reimpostare uno slate pulito dallo script, ma queste vengono omesse qui per maggiore chiarezza. Vedere IAlignmentManager.ClearAlignmentAnchors().
Inoltre, la demo abilita le operazioni di adattamento automatico. Vedere di seguito.
Configurazione dello spazio fisico
Questo esempio contiene 4 marcatori. Per esplorare completamente l'esempio, posizionare i marcatori fisici in uno spazio corrispondente al layout dei marcatori virtuali.
NOTA: il layout dei marcatori virtuali nella scena unity può essere modificato per adattarsi a qualsiasi spazio fisico. Non c'è niente di speciale sul layout predefinito. Tuttavia, vedere i vantaggi della funzionalità di blocco dello spazio richiede una notevole diffusione dei marcatori, con separazioni di almeno pochi metri.
Il layout dei marcatori fisici nella stanza deve corrispondere al layout dei marcatori virtuali nella scena unity, come illustrato in questo diagramma:
Esecuzione dell'esempio
Startup
All'avvio per la prima sessione, l'origine dello spazio di coordinate Unity si troverà all'avvio.
Guardando verso sinistra e avanti 6 metri rivelerà una sfera ciano, con un cubo ciano sopra di esso.
Guardando verso destra e indietro mostrerà una sfera rossa e un cubo, 10 metri di distanza.
Andare avanti dall'origine e guardare indietro rivela una sfera bianca e un cubo. Otto metri oltre è una sfera gialla e un cubo.
Ci sono anche travi di colori alternati che corrono sotto le sfere. Il loro scopo diventerà chiaro durante la procedura dettagliata.
Allineamento del mondo
Spostarsi in una delle sfere colorate. Questa procedura dettagliata inizierà con la sfera rossa.
Cammina sulla sfera rossa. La sfera può essere afferrata da una distanza usando i raggi della mano in HL2 o sguardo fisso e avvicinamento con HL1. In HL2, può anche essere afferrato in mano.
Guarda intorno e trova il marcatore posizionato nella stanza fisica corrispondente alla sfera rossa. Afferrare la sfera rossa virtuale con uno dei metodi precedenti e trascinarla sul marcatore della sfera rossa. Regolare ulteriormente la sfera in modo che sia allineata al marcatore fisico il più possibile.
Anche le altre sfere sono state spostate. Tuttavia, l'orientamento rimane invariato. Cioè, il mondo virtuale è stato tradotto per mettere la sfera rossa sul suo marcatore, ma l'orientamento del mondo non è ancora stato influenzato.
Spostarsi in un'altra sfera. Per questa procedura dettagliata sarà la sfera bianca.
Ripetere la procedura precedente, spostando la sfera bianca virtuale per allinearla al marcatore fisico.
Ora lo spazio virtuale è stato ruotato e tradotto, in modo che le sfere rosse, bianche e ciano siano ancora in linea, con la sfera gialla su un offset perpendicolare dalla sfera bianca.
Verificare che, quando si avvicina alla sfera bianca, sia allineato al marcatore fisico. Andare alla sfera rossa e verificare che sia allineato al marcatore fisico.
Ora cammina verso una sfera rimanente. Questa procedura dettagliata procederà alla sfera ciano.
Mentre la sfera ciano è in linea con le sfere rosse e bianche, non è posizionata correttamente sul suo marcatore. Il vettore esatto e la grandezza dell'errore sono dispositivo e anche dipendente dalla situazione, è probabile che sia vicino correttamente sulla linea della sfera rossa-bianca, ma breve del marcatore fisico.
Trascinare la sfera ciano sull'allineamento corretto con il marcatore fisico. Verificare, passando a ognuno e esaminandoli, che ognuno dei tre marcatori posizionati sia ora allineato correttamente quando si trova in prossimità di ognuno.
Se necessario, ripetere questo processo per la sfera finale.
Modalità di manipolazione alternativa
La procedura dettagliata precedente si basa sulla configurazione predefinita nell'applicazione, in cui l'orientamento dello spazio virtuale è implicito dal posizionamento relativo dei marcatori.
In una modalità alternativa, l'orientamento può essere impostato in modo esplicito afferrando le sfere e ruotandole sull'asse Y.
La modalità di manipolazione predefinita descritta in precedenza è in genere molto più semplice, perché il posizionamento di oggetti nello spazio virtuale tende ad essere molto più preciso rispetto alla rotazione a un orientamento specifico.
Analogamente, quando si usano codici a matrice per l'allineamento automatico, la posizione restituita per un marcatore di codice a matrice tende a essere molto più affidabile dell'orientamento.
Tuttavia, alcune applicazioni possono avere conoscenze avanzate e specifiche dell'orientamento desiderato dello spazio, che possono sfruttare usando questo secondo metodo.
Per abilitare il metodo di orientamento esplicito nella demo, disabilitare semplicemente i componenti di manipolazione orientabile dello spazio attivo sulle sfere del marcatore in:
Marcatori di manipolazione > del > contenuto > CyanSphere/RedSphere/YellowSphere/GreySphere.
e abilitare i componenti di manipolazione dei pin di spazio attualmente disabilitati.
La procedura dettagliata suggerita è quindi:
Posizionare una delle sfere allineate al marcatore fisico e orientarla in modo che le altre sfere siano nella direzione corretta da essa.
Le altre sfere ora saranno a distanze non corrette, ma lungo circa il vettore corretto.
Passare alle altre sfere a sua volta e riposizionare ognuna per allinearla al marcatore fisico. Non è necessario apportare ulteriori modifiche di orientamento.
Esame dei risultati
Se è disponibile uno strumento di misurazione, ad esempio una misura nastro, questo allineamento può essere esaminato ulteriormente.
Se le sfere sono state posizionate correttamente, dovrebbe essere presente un errore zero in ognuna delle sfere.
Il fascio T in esecuzione sotto le sfere alterna colori a ogni metro. Misurando la deviazione del colore cambia nelle travi con i segni del contatore nel dispositivo di misurazione, è possibile che si verifichi l'errore nelle aree tra puntini di spazio.
Operazioni di adattamento
Le operazioni di refit automatico saranno probabilmente manifeste come indicato di seguito:
- Dopo aver posizionato una o più sfere, gli oggetti virtuali vengono allineati come previsto.
- Successivamente, il rilevamento viene perso.
- Il rilevamento riprende dopo il passaggio a un'altra area fisica.
- L'allineamento delle prime sfere viene perso e non ha alcun effetto (perché si trovano in un frammento diverso).
- Dopo aver spostato la nuova sezione dello spazio (possibilmente posizionando un'altra sfera), la testa torna allo spazio originale.
- Un'operazione di rifittinge automaticamente e combina automaticamente i frammenti originali e nuovi.
- L'allineamento dalle prime sfere diventa di nuovo efficace (perché sono tutti nello stesso frammento ora).