4. Rendere interattiva la scena
Nell'esercitazione precedente sono state aggiunte una modalità ARSession, Pawn e Game per completare la configurazione della realtà mista per l'app scacchi. Questa sezione è incentrata sull'uso del plug-in open source Realtà mista Toolkit UX Tools, che fornisce strumenti per rendere interattiva la scena. Alla fine di questa sezione, i pezzi degli scacchi si muoveranno in base all'input dell'utente.
Obiettivi
- Installazione del plug-in Realtà mista UX Tools
- Aggiunta di attori di interazione con la mano a portata di mano
- Creazione e aggiunta di manipolatori agli oggetti nella scena
- Uso della simulazione di input per convalidare il progetto
Download del plug-in Realtà mista UX Tools
Prima di iniziare a usare l'input utente, è necessario aggiungere il plug-in Realtà mista UX Tools al progetto. Per altre informazioni sugli strumenti dell'esperienza utente, è possibile consultare il progetto in GitHub.
- Aprire Epic Games Launcher. Passare a Unreal Engine Marketplace e cercare "Realtà mista UX Tools". Installare il plug-in nel motore.
- Tornare all'editor Unreal, passare aPlug-inImpostazioni> progetto e cercare "strumenti dell'esperienza utente Realtà mista". Verificare che il plug-in sia abilitato e riavviare l'editor, se richiesto.
- Il plug-in UXTools include una cartella Contenuto con sottocartelle per i componenti, tra cui Pulsanti, Simulazione XR e Puntatori e una cartella Classi C++ con codice aggiuntivo.
Nota
Se la sezione Contenuto di UXTools non è visualizzata nel Browser contenuto, selezionare Visualizza opzioni > Mostra contenuto motore e *Visualizza opzioni > Mostra contenuto plug-in.
La documentazione aggiuntiva del plug-in è disponibile nel repository GitHub Realtà mista UX Tools.
Con il plug-in installato, si è pronti per iniziare a usare gli strumenti che ha da offrire, a partire dagli attori di interazione manuale.
Generazione di attori di interazione con la mano
L'interazione a mano con gli elementi dell'esperienza utente viene eseguita con Hand Interaction Actors, che crea e guida i puntatori e gli oggetti visivi per le interazioni vicine e lontane.
- Interazioni vicine: avvicinamento degli elementi tra il dito indice e il pollice o premendoli con la punta del dito.
- Interazioni lontane : puntando un raggio dalla mano virtuale a un elemento e premendo indice e pollice insieme.
Nel nostro caso, l'aggiunta di un attore di interazione con la mano a MRPawn :
- Aggiungere un cursore alle punte delle dita dell'indice del pedone.
- Fornire eventi di input mano articolati che possono essere manipolati tramite il pedone.
- Consentire eventi di input di interazione lontani attraverso i raggi della mano che si estendono dai palmi delle mani virtuali.
È consigliabile leggere la documentazione sulle interazioni a portata di mano prima di continuare.
Quando si è pronti, aprire il progetto MRPawn e passare al grafico eventi.
Trascinare e rilasciare il pin di esecuzione da Event BeginPlay per posizionare un nuovo nodo.
- Selezionare Genera attore dalla classe, fare clic sull'elenco a discesa accanto al pin Classe e cercare Uxt Hand Interaction Actor.Select Actor from Class, click the dropdown next to the Class pin and search for Uxt Hand Interaction Actor.
Genera un secondo attore di interazione con la mano Uxt, questa volta impostando la mano a destra. All'inizio dell'evento, verrà generato un attore di interazione con la mano di Uxt su ogni mano.
Il grafico eventi deve corrispondere allo screenshot seguente:
Entrambi gli attori di interazione con la mano di Uxt hanno bisogno di proprietari e posizioni di trasformazione iniziali. La trasformazione iniziale non è importante in questo caso perché UX Tools farà in modo che gli attori di interazione con la mano saltino alle mani virtuali non appena sono visibili. Tuttavia, la SpawnActor
funzione richiede un input Transform per evitare un errore del compilatore, quindi si useranno i valori predefiniti.
Trascinare e rilasciare il pin da uno dei pin Spawn Transform per posizionare un nuovo nodo.
- Cercare il nodo Crea trasformazione , quindi trascinare il valore restituito nella trasformazione Spawn dell'altra mano in modo che entrambi i nodi SpawnActor siano connessi.
Selezionare la freccia giù nella parte inferiore di entrambi i nodi SpawnActor per visualizzare il pin Proprietario .
- Trascinare il pin da uno dei pin proprietario e rilasciare per posizionare un nuovo nodo.
- Cercare se stessi e selezionare Get a reference to self variable (Ottieni un riferimento a una variabile self ).
- Creare un collegamento tra il nodo Riferimento all'oggetto Self e il pin proprietario dell'altro attore di interazione con la mano.
Infine, selezionare la casella Mostra cursore vicino sulle destinazioni di cattura per entrambi gli attori di interazione con la mano. Quando il dito indice si avvicina, dovrebbe essere visualizzato un cursore sulla destinazione di cattura, in modo da poter vedere dove si trova il dito rispetto alla destinazione.
- Compilare, salvare e tornare alla finestra Principale.
Assicurarsi che le connessioni corrispondano allo screenshot seguente, ma è possibile trascinare i nodi per rendere il progetto più leggibile.
Altre informazioni su Hand Interaction Actors sono disponibili nella documentazione degli strumenti dell'esperienza utente.
Ora le mani virtuali nel progetto hanno un modo per selezionare gli oggetti, ma non possono ancora manipolarli. L'ultima attività prima di testare l'app consiste nell'aggiungere componenti manipolatore agli attori nella scena.
Collegamento di manipolatori
Un manipolatore è un componente che risponde all'input della mano articolato e può essere afferrato, ruotato e tradotto. L'applicazione della trasformazione del manipolatore a una trasformazione Actors consente la manipolazione diretta dell'attore.
- Aprire il progetto Scheda , fare clic su Aggiungi componente e cercare Manipolatore generico Uxt nel pannello Componenti .
- Espandere la sezione Manipolatore generico nel pannello Dettagli . È possibile impostare la manipolazione con una o due mani, la modalità di rotazione e la smussatura da qui. È possibile selezionare le modalità desiderate, quindi Compilare e salvare la scheda.
- Ripetere i passaggi precedenti per l'attore WhiteKing .
Altre informazioni sui componenti del manipolatore sono disponibili nel plug-in Realtà mista UX Tools nella documentazione.
Test della scena
Buone notizie a tutti! Si è pronti per testare l'app con le nuove mani virtuali e l'input dell'utente. Premi Play nella finestra principale e vedrai due mani in mesh con raggi che si estendono dal palmo di ogni mano. È possibile controllare le mani e le relative interazioni come indicato di seguito:
- Tenere premuto il tasto ALT sinistro per controllare la mano sinistra e il tasto MAIUSC sinistro per controllare la mano destra.
- Sposta il mouse per spostare la mano e scorrere con la rotellina del mouse per spostare la mano in avanti o indietro.
- Usare il pulsante sinistro del mouse per avvicinare le dita e il pulsante centrale del mouse per colpire.
Nota
La simulazione di input potrebbe non funzionare se sono presenti più auricolari collegati al PC. Se si verificano problemi, provare a scollegare gli altri auricolari.
Prova a usare le mani simulate per raccogliere, spostare e impostare il re bianco degli scacchi e manipolare la tavola! Esperimento con l'interazione sia vicina che lontana: si noti che quando le mani si avvicinano abbastanza da afferrare direttamente la tavola e il re, un cursore dito sulla punta del dito indice sostituisce il raggio della mano.
Altre informazioni sulla funzionalità mani simulate fornite dal plug-in MRTK UX Tools sono disponibili nella documentazione.
Ora che le mani virtuali possono interagire con gli oggetti, si è pronti per passare all'esercitazione successiva e aggiungere interfacce utente ed eventi.
Sezione successiva: 5. Aggiunta di un pulsante & reimpostazione delle posizioni dei pezzi