Esercizio: Introduzione a Holographic Remoting per PC
Queste sono le esercitazioni su HoloLens 2. In questa esercitazione si apprenderà come creare un'esperienza di Realtà mista che include elementi dell'interfaccia utente, manipolazione del modello 3D, ritaglio del modello e funzionalità di tracciamento oculare. Nella seconda esercitazione si apprenderà come creare un'app per PC per Holographic Remoting che consente di connettersi a HoloLens 2 in qualsiasi momento e visualizzare l'app in 3D.
Per completare correttamente questa esercitazione, è necessario avere alcune conoscenze di base su Unity e su Realtà mista Toolkit (MRTK). Se non la si ha, è consigliabile completare le esercitazioni introduttive prima di continuare.
Creare e preparare il progetto Unity
In questa sezione verrà creato un nuovo progetto Unity per prepararsi allo sviluppo con MRTK.
Passare al percorso dei concetti fondamentali di HoloLens 2 e completare i moduli, ma arrestarsi quando si raggiungono i moduli HoloLens 2. In seguito al completamento di queste istruzioni, è necessario eseguire le operazioni seguenti:
- Ha creato il progetto Unity e gli ha assegnato un nome appropriato; Ad esempio, PC Holographic Remoting.
- Sarà passato alla piattaforma di compilazione.
- Avrà importato il pacchetto TextMeshPro Essential Resources.
- Avrà importato il Toolkit di Realtà mista e avrà configurato il progetto Unity.
- Avrà creato e impostato la scena e le avrà dato un nome appropriato, ad esempio Holographic Remoting per PC.
Importare gli asset dell'esercitazione
Scaricare e importare MRTK. HoloLens2.Unity.Tutorials.Assets.PCHolographicRemoting.3.0.0.unitypackage .
Suggerimento
Per rivedere la procedura di importazione di un pacchetto personalizzato di Unity, è possibile fare riferimento alle istruzioni sull'importazione del Toolkit di Realtà mista.
Dopo l'importazione degli asset dell'esercitazione, la finestra Project (Progetto) avrà un aspetto simile al seguente:
Configurare e preparare la scena
In questa sezione verrà preparata la scena aggiungendo alcuni dei prefab dell'esercitazione.
In primo luogo, poiché alcuni dei modelli sono in formato glTF che Unity non supporta in modo nativo, è necessario installare un pacchetto che consenta l'importazione.
Per installare la libreria glTFast open source, scaricare ed eseguire questo file: https://package-installer.glitch.me/v1/installer/OpenUPM/com.atteneder.gltfast?registry=https%3A%2F%2Fpackage.openupm.com& scope=com.atteneder
Seleziona Importa
Selezionare Chiudi.
Nella finestra Progetto passare alla cartella Asset>MRTK.Tutorials.PCHolograhicRemoting>Prefab. Selezionare il prefab SceneContent e trascinarlo nella parte inferiore della finestra Gerarchia .
Per visualizzare la scena dal punto di vista della fotocamera, fare clic con il pulsante destro del mouse sull'oggetto Main Fotocamera nella finestra Hierarchy (Gerarchia), quindi scegliere Allinea visualizzazione su selezionata.
Suggerimento
Se si ritiene che le icone grandi nella scena distraggono (ad esempio, le icone "T" incorniciate di grandi dimensioni), è possibile nasconderle attivando o disattivando la posizione Off .
Configurare i pulsanti per il funzionamento della scena
In questa sezione si aggiungeranno gli script nella scena per creare eventi pulsante a dimostrazione delle nozioni di base sulla funzionalità di passaggio a un altro modello e di ritaglio.
Configurare il componente Pulsante interattivo (script)
Nella finestra Hierarchy (Gerarchia) espandere gli oggetti SceneContent e ButtonParent e selezionare il pulsante Avanti . Nella finestra Inspector (Controllo) individuare il componente Pressable Button e selezionare l'icona del segno più (+) sotto l'evento OnClick ().
Con l'oggetto NextButton ancora selezionato nella finestra Gerarchia, trascinare l'oggetto ButtonParent dalla finestra Gerarchia nel campo None (Object) vuoto dell'evento appena aggiunto per fare in modo che l'oggetto ButtonParent rimanga in ascolto dell'evento di clic del pulsante attivato a partire da questo pulsante:
Selezionare l'elenco a discesa No Function dello stesso evento, quindi selezionare ViewButtonControl>NextModel () per impostare la funzione NextModel () come azione attivata quando viene premuto il pulsante:
Configurare i pulsanti rimanenti
Per ognuno dei pulsanti rimanenti, completa il processo descritto in precedenza per assegnare funzioni agli eventi OnClick ():
- Per l'oggetto PreviousButton, assegnare la funzione ViewButtonControl>PreviousModel ().
- Per ClippingButton, selezionare la funzione ToggleButton>ToggleClipping ().
Configurare il pulsante di visualizzazione (script) e i componenti interruttore (script)
A questo punto i pulsanti sono configurati per dimostrare il funzionamento della funzionalità di passaggio a un altro modello e di ritaglio. Successivamente, si aggiungeranno modelli 3D alla scena e gli oggetti di ritaglio allo script.
Sono presenti sei modelli 3D diversi per la dimostrazione. Espandere l'oggetto ModelParent per esporre questi modelli.
Con l'oggetto ButtonParent ancora selezionato nella finestra Hierarchy (Gerarchia), individua nella finestra Inspector (Controllo) il componente View Button Control (Script) (Controllo pulsante di visualizzazione - Script) ed espandi la variabile Models (Modelli).
Nel campo Dimensioni immettere il numero di modelli 3D che si desidera avere nella scena. In questo caso, sei. In questo modo vengono creati campi per l'aggiunta di nuovi modelli 3D.
Trascinare ogni oggetto figlio dell'oggetto ModelParent in questi campi.
Trascinare l'oggetto ClippingObjects dalla finestra Gerarchia nel campo Clipping Object del componente Interruttore (Script).
Nota
Rimanere solo nell'oggetto ButtonParent.
Nella finestra Hierarchy (Gerarchia) selezionare il prefab ClippingObjects e abilitarlo nella finestra Inspector (Controllo) per attivare gli oggetti Ritaglio.
Configurare gli oggetti di ritaglio per abilitare la funzionalità di ritaglio
In questa sezione si aggiungerà il renderer degli oggetti figlio dell'oggetto MarsCuriosityRover in un singolo oggetto di ritaglio per illustrare il funzionamento del ritaglio del modello MarsCuriosityRover.
Nella finestra Gerarchia espandere l'oggetto ClippingObjects per esporre i tre diversi oggetti di ritaglio che verranno usati in questo progetto.
Per configurare l'oggetto ClippingSphere , selezionarlo e quindi aggiungere un componente Clipping Sphere nella finestra Inspector (Controllo). Immettere quindi il numero di renderer nel campo Dimensioni da aggiungere per il modello 3D. In questo caso, aggiungere 10 per gli oggetti figlio MarsCuriosityRover. Verranno creati campi per l'aggiunta di renderer. Trascinare quindi gli oggetti del modello figlio dell'oggetto MarsCuriosityRover in questi campi.
Verificare che gli oggetti Clipping siano attivati abilitando il prefab ClippingObjects nella finestra Hierarchy (Gerarchia).