Leggere in inglese

Condividi tramite


Creazione della prima applicazione HoloLens Unreal

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.

  1. Avvia Unreal Engine
  2. In Nuove categorie di progetti selezionare Giochi e fare clic su Avanti:

Finestra Progetti recenti aperta con Giochi evidenziati

  1. Selezionare il modello Vuoto e fare clic su Avanti:

Finestra del browser unreal project con il modello Vuoto evidenziato

  1. 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++.

Finestra delle impostazioni del progetto con opzioni di progetto, prestazioni, piattaforma di destinazione e contenuto iniziale evidenziate

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.

  1. Aprire Modifica > plug-in e selezionare Realtà aumentata dall'elenco delle opzioni predefinite.
  • Scorrere verso il basso fino a HoloLens e selezionare Abilitato

Finestra Plug-in con la sezione realtà aumentata aperta e HoloLens evidenziata

  1. Digitare OpenXR nella casella di ricerca in alto a destra e abilitare i plug-in OpenXR e OpenXRMsftHandInteraction:

Finestra Plug-in con OpenXR abilitato

Finestra Plug-in con l'interazione manuale open XR Msft abilitata

  1. 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.

  1. Selezionare File > Nuovo livello e scegliere Livello vuoto. La scena predefinita nel riquadro di visualizzazione dovrebbe ora essere vuota
  2. 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

Scena dell'editor unreal con posizione e avvio del giocatore aggiunti

  1. 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.

  1. Nel pannello Modalità passare alla scheda Luci e trascinare una luce direzionale nella scena
  • Posizionare la luce sopra PlayerStart in modo da poterla visualizzare

Scena dell'editor unreal con cubo e luce direzionale aggiunta

  1. 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.

Scena in modalità di riproduzione con il cubo al centro dello schermo

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:

  1. Nel Browser contenuto selezionare Aggiungi nuovo > asset di dati esterni > e assicurarsi di essere a livello di cartella contenuto radice
  2. Selezionare ARSessionConfig, fare clic su Seleziona e assegnare all'asset il nome ARSessionConfig:

Finestra Seleziona classe di asset di dati aperta con l'asset di configurazione della sessione AR evidenziato

  1. Fare doppio clic su ARSessionConfig per aprirlo, salva con tutte le impostazioni predefinite e tornare alla finestra principale:

Finestra dei dettagli dell'asset di configurazione della sessione AR

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.

  1. Nella barra degli strumenti dell'editor selezionare Blueprints > Open Level Blueprint (Progetto a livello aperto):

Menu Progetto aperto con l'opzione open level blueprint evidenziata

  1. 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

Grafico del progetto con l'evento inizia la riproduzione connessa alla funzione start ar session

  1. 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.

Nodo di riproduzione dell'evento collegato alla funzione di sessione stop ar

Configurazione degli input

  1. Selezionare Modifica > impostazioni progetto e passare all'input del motore >
  2. Selezionare l'icona + accanto a Mapping azioni e creare azioni RightPinch e LeftPinch :

Associazione delle impostazioni di input con mapping di azioni di avvicinamento a destra e sinistra evidenziate

  1. Eseguire il mapping delle azioni RightPinch e LeftPinch alle rispettive azioni Di interazione manuale di OpenXR Msft :

Mapping delle azioni con le opzioni di interazione Open XR Msft Hand evidenziate

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.

  1. 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

Bluprint a livello aperto con azioni di input per gli eventi di avvicinamento delle dita a destra e sinistra

  1. Nelle impostazioni Di trasformazione del cubo impostare Mobility su Movable in modo che possa spostarsi dinamicamente:

Impostazioni tranform con la proprietà mobility evidenziata

A questo punto, è possibile distribuire e testare l'applicazione.