4. Condivisione dei movimenti di oggetti con più utenti

In questa esercitazione si apprenderà come condividere i movimenti degli oggetti in modo che tutti i partecipanti di un'esperienza condivisa possano collaborare e visualizzare le interazioni reciproche.

Obiettivi

  • Configurare il progetto per condividere i movimenti degli oggetti
  • Imparare a creare un'app collaborativa multiutente di base

Preparazione della scena

In questa sezione preparerai la scena aggiungendo il prefab dell'esercitazione.

Nella finestra Hierarchy (Gerarchia) espandere l'oggetto MixedRealityPlayspace e selezionare l'oggetto figlio Main Camera e quindi nella finestra Inspector (Controllo) usare il pulsante Aggiungi componente per aggiungere il componente AR Camera Manager (Script) all'oggetto Main Camera :

Unity con il componente AR Camera Manager parzialmente configurato

Nella finestra Project (Progetto) passare alla cartella Assets (Asset)>MRTK.Tutorials.MultiUserCapabilities>Prefabs (Prefab) e trascinare il prefab TableAnchor nell'oggetto SharedPlayground nella finestra Hierarchy (Gerarchia) per aggiungerlo alla scena come elemento figlio dell'oggetto SharedPlayground:

Unity con il prefab TableAnchor appena aggiunto selezionato

Nella finestra Hierarchy (Gerarchia) verificare che l'oggetto MixedRealityPlayspace sia espanso e che sia selezionato l'oggetto TableAnchor . Trascinare il componente Fotocamera principale nel campo Fotocamera del componente AR Session Origin di TableAnchor:

Unity con l'assegnazione della fotocamera principale origine sessione AR configurata

Configurazione di PUN per creare un'istanza degli oggetti

In questa sezione si configurerà il progetto in modo da usare l'esperienza di Rover Explorer creata durante le esercitazioni introduttive e definire il punto in cui verrà creata un'istanza.

Nella finestra Project (Progetto) passa alla cartella Assets (Asset)>MRTK.Tutorials.MultiUserCapabilities>Resources (Risorse).

Nella finestra Hierarchy (Gerarchia) espandi l'oggetto NetworkLobby e seleziona l'oggetto figlio NetworkRoom e quindi nella finestra Inspector (Controllo) individua il componente Photon Room (Script) (Stanza Photon - Script) e configuralo nel modo seguente:

  • Al campo Rover Explorer Prefab (Prefab Rover Explorer) assegnare il prefab RoverExplorer_Complete_Variant dalla cartella Resources (Risorse)

Unity con il componente Photon Room parzialmente configurato

Con l'oggetto figlio NetworkRoom ancora selezionato, nella finestra Hierarchy (Gerarchia) espandi l'oggetto TableAnchor e quindi nella finestra Inspector (Controllo) individua il componente Photon Room (Script) (Stanza Photon - Script) e configuralo nel modo seguente:

  • Nel campo Posizione rover explorer assegnare l'oggetto figlio TableAnchor >Table dalla finestra Hierarchy

Unity con il componente Photon Room configurato

Prova dell'esperienza con il movimento di un oggetto condiviso

Se si compila e distribuisce il progetto Unity in HoloLens e quindi, tornando in Unity, si preme il pulsante Play per attivare la modalità di gioco mentre l'app è in esecuzione in HoloLens, si osserverà l'oggetto muoversi in Unity quando viene spostato in HoloLens:

Animazione che mostra Unity con oggetti collegati in rete

Lezione completata

Il progetto è stato configurato in modo che i movimenti degli oggetti siano sincronizzati e gli utenti possano vedere gli oggetti muoversi quando vengono mossi da altri utenti. Ciò garantisce che gli utenti si vedano tra loro nelle posizioni fisiche effettive. Garantisce inoltre che gli oggetti vengano visualizzati nella stessa posizione fisica e rotazione per tutti gli utenti. Per informazioni su come allineare fisicamente i movimenti ora sincronizzati, vedere l'esercitazione "Creare una nuova app HoloLens Unity con Ancoraggi nello spazio di Azure".

In questa serie di esercitazioni sulle funzionalità multiutente si è appreso come configurare un account Photon, creare un'app PUN, integrare PUN nel progetto Unity e configurare avatar utente e oggetti condivisi. Questa esercitazione conclude la serie.