Creazione della prima applicazione HoloLens Unreal
Articolo
Questa guida illustra come ottenere la prima app Realtà mista in esecuzione in HoloLens in Unreal Engine. Nella tradizione di "Hello World", creerai una semplice app che visualizza un cubo sullo schermo. Per renderlo più utile, si creerà anche il primo movimento per ruotare il cubo e chiudere l'applicazione.
Obiettivi
Avviare un progetto HoloLens
Abilitare i plug-in corretti
Creare un asset di dati ARSessionConfig
Configurare gli input dei movimenti
Creare un livello di base
Implementare un movimento di avvicinamento delle dita
Creazione di un nuovo progetto
Prima di tutto, è necessario un progetto su cui lavorare. Se si sviluppa in Unreal per la prima volta, è necessario scaricare i file di supporto dal launcher Epic.
Avvia Unreal Engine
In Nuove categorie di progetti selezionare Giochi e fare clic su Avanti:
Selezionare il modello Vuoto e fare clic su Avanti:
In Impostazioni progetto impostare C++, Scalabile 3D o 2D, Mobile/Tablet e Nessun contenuto iniziale, quindi scegliere un percorso di salvataggio e fare clic su Crea progetto
Nota
Si sta usando un progetto C++ anziché un progetto Blueprint per poter usare il plug-in OpenXR in un secondo momento. Questa guida introduttiva usa il plug-in OpenXR predefinito fornito con Unreal Engine. Tuttavia, è consigliabile scaricare e usare il plug-in Microsoft OpenXR ufficiale. Ciò richiede che il progetto sia un progetto C++.
Il nuovo progetto dovrebbe essere aperto automaticamente nell'editor Unreal, il che significa che si è pronti per la sezione successiva.
Abilitazione dei plug-in necessari
Prima di iniziare ad aggiungere oggetti alla scena, è necessario abilitare due plug-in.
Aprire Modifica > plug-in e selezionare Realtà aumentata dall'elenco delle opzioni predefinite.
Scorrere verso il basso fino a HoloLens e selezionare Abilitato
Digitare OpenXR nella casella di ricerca in alto a destra e abilitare i plug-in OpenXR e OpenXRMsftHandInteraction:
Riavviare l'editor
Nota
Questa esercitazione usa OpenXR, ma i due plug-in installati in precedenza non forniscono attualmente il set completo di funzionalità per lo sviluppo di HoloLens. Il plug-in HandInteraction sarà sufficiente per il gesto "Pinch" che verrà usato in un secondo momento, ma se vuoi andare oltre le nozioni di base dovrai scaricare il plug-in Microsoft OpenXR.
Con i plug-in abilitati, è possibile concentrarsi sulla compilazione del contenuto.
Creazione di un livello
L'attività successiva consiste nel creare una configurazione di gioco con un punto iniziale e un cubo per riferimento e scala.
Selezionare File > Nuovo livello e scegliere Livello vuoto. La scena predefinita nel riquadro di visualizzazione dovrebbe ora essere vuota
Nella scheda Modalità selezionare Basic e trascinare PlayerStart nella scena
Nella scheda Dettagli impostare Posizione su X = 0, Y = 0 e Z = 0 per posizionare l'utente al centro della scena all'avvio dell'app
Dalla scheda Basic trascinare un cubo nella scena
Impostare La posizione del cubo su X = 50, Y = 0 e Z = 0 per posizionare il cubo a 50 cm di distanza dal giocatore all'inizio
Modificare la scala del cubo in X = 0.2, Y = 0.2 e Z = 0.2
Il cubo non sarà visibile finché non viene aggiunta una luce alla scena, che è l'ultima attività da eseguire prima del test.
Nel pannello Modalità passare alla scheda Luci e trascinare una luce direzionale nella scena
Posizionare la luce sopra PlayerStart in modo da poterla visualizzare
Passare a Salva > file corrente, denominare il livello Principale e selezionare Salva
Una volta impostata la scena, seleziona Play (Riproduci) sulla barra degli strumenti per vedere il cubo in azione. Quando avrai terminato di ammirare il tuo lavoro, premi ESC per arrestare l'applicazione.
Ora che la scena è configurata, è possibile prepararla per alcune interazioni di base in AR. Prima di tutto, è necessario creare una sessione AR e aggiungere progetti per abilitare l'interazione manuale.
Aggiunta di un asset di sessione
Le sessioni AR in Unreal non funzionano da sole. Per usare una sessione, è necessario un asset di dati ARSessionConfig con cui interagire, che costituisce l'attività successiva:
Nel Browser contenuto selezionare Aggiungi nuovo > asset di dati esterni > e assicurarsi di essere a livello di cartella contenuto radice
Selezionare ARSessionConfig, fare clic su Seleziona e assegnare all'asset il nome ARSessionConfig:
Fare doppio clic su ARSessionConfig per aprirlo, salva con tutte le impostazioni predefinite e tornare alla finestra principale:
Al termine, il passaggio successivo consiste nell'assicurarsi che la sessione AR venga avviata e arrestata quando il livello si carica e termina. In Unreal è disponibile un particolare progetto denominato Level Blueprint (Progetto livello) che svolge la funzione di grafico eventi globale che prende come riferimento il livello. La connessione dell'asset ARSessionConfig in Level Blueprint (Progetto livello) garantisce l'avvio della sessione nel momento in cui viene avviato il gioco.
Nella barra degli strumenti dell'editor selezionare Blueprints > Open Level Blueprint (Progetto a livello aperto):
Trascinare il nodo di esecuzione (icona a forma di freccia sinistra) fuori Event BeginPlay e release
Cercare il nodo Avvia sessione AR e premere INVIO
Fare clic sull'elenco a discesa Seleziona asset in Configurazione sessione e scegliere l'asset ARSessionConfig
Fai clic con il pulsante destro del mouse in un punto qualsiasi di EventGraph e crea un nuovo nodo Event EndPlay.
Trascinare il pin di esecuzione e il rilascio, quindi cercare un nodo Stop AR Session (Arresta sessione AR ) e premere INVIO
Premere Compila, quindi Salva e tornare alla finestra principale
Importante
Se la sessione AR è ancora in esecuzione al termine del livello, alcune funzionalità potrebbero smettere di funzionare se l'app viene riavviata durante lo streaming a un visore VR.
Configurazione degli input
Selezionare Modifica > impostazioni progetto e passare all'input del motore >
Selezionare l'icona + accanto a Mapping azioni e creare azioni RightPinch e LeftPinch :
Eseguire il mapping delle azioni RightPinch e LeftPinch alle rispettive azioni Di interazione manuale di OpenXR Msft :
Configurazione dei movimenti
Ora che abbiamo configurato gli input, possiamo arrivare alla parte interessante: Aggiunta di gesti! Consente di ruotare il cubo a destra e di chiudere l'applicazione con il pizzicamento sinistro.
Aprire il progetto level e aggiungere inputAction RightPinch e InputAction LeftPinch
Connettere l'evento di avvicinamento delle dita destro a un addActorLocalRotation con il cubo come destinazione e la rotazione differenziale impostata su X = 0, Y = 0 e Z = 20. Il cubo ora ruota di 20 gradi ogni volta che si avvicina il dito
Connettere l'evento di avvicinamento delle dita a sinistra a Quit Game
Nelle impostazioni Di trasformazione del cubo impostare Mobility su Movable in modo che possa spostarsi dinamicamente:
A questo punto, è possibile distribuire e testare l'applicazione.
Questo modulo è un progetto di sfida in cui si creerà un'app di realtà aumentata per HoloLens 2. Lo sviluppatore verrà guidato per la creazione di un'app end-to-end con l'aiuto di un esempio esistente usato come riferimento.
Introduzione allo sviluppo di realtà mista per HoloLens e VR con la guida allo sviluppo di applicazioni di realtà mista con Unreal Engine 4.0 o Unreal Engine 5.0.
Parte 1 di 6 in una serie di esercitazioni per la creazione di un'app per gli scacchi con Unreal Engine 4 e il plug-in UX Tools di Mixed Reality Toolkit