Torna alle notizie per sviluppatori

Creazione dell'esperienza VR multigiocatore

Le esperienze multigiocatore sono diventate una parte sempre più importante dell'ecosistema VR. Le funzioni multigiocatore permettono alle persone di trovare giochi e app diversi in cui invitare a giocare insieme altri utenti in tutta facilità. In questo post del blog "Creazione dell'esperienza VR multigiocatore" in quattro parti integrato con una serie di video, parleremo delle funzioni multigiocatore dell'SDK della piattaforma in Quest a partire da un esempio di SharedSpaces open source in Unity e ne mostreremo la modalità di utilizzo per la creazione dell'app multigiocatore. Se desideri imparare guardando o ascoltando, dai un'occhiata a questo video sul canale YouTube di Meta Open Source.

Nel blog di oggi, esamineremo le funzioni multigiocatore dell'SDK della piattaforma e capiremo cosa quest'ultimo consente di creare. Vederemo anche l'esempio di SharedSpaces in Unity con App Lab e osserveremo queste funzioni multigiocatore in azione.

Funzioni multigiocatore

Le funzioni multigiocatore di Quest (destinazioni, presenza nel gruppo, inviti, link di invito, liste dei partecipanti e altro ancora) consentono agli utenti di scegliere tra diverse app VR in cui invitare a giocare altri utenti. Queste funzioni migliorano le interazioni social all'interno dell'app e consentono ai tuoi maggiori fan di invitare altre persone a partecipare, creando un'esperienza multigiocatore unica in cui i giocatori si sentono fisicamente presenti con i loro amici all'interno dell'app.

Destinazioni

Le destinazioni sono i luoghi visitati dalle persone all'interno dell'app, essenziali per le funzioni multigiocatore nello sviluppo di Quest. La figura seguente mostra tre delle destinazioni dell'app di esempio SharedSpaces. Nel prossimo post del blog, scopriremo i passaggi per la configurazione delle destinazioni per la tua app.

Presenza nel gruppo

La presenza nel gruppo offre informazioni sull'app in cui si trova un utente: se è aperta una partita, se l'utente si trova in una destinazione specifica, se è possibile unirsi al gioco e molto altro. Per maggiori informazioni sulle destinazioni e sulla presenza nel gruppo, consulta la nostra documentazione su diversi scenari di casi d'uso e su come utilizzarli nel modo migliore nelle app.

Deep link

I deep link consentono agli sviluppatori di indirizzare gli utenti verso un'esperienza specifica. Ogni volta che una persona avvia la tua app per unirsi a un amico o accede a una destinazione, il deep link include informazioni sulla destinazione desiderata e su eventuali aree comuni o partite.

Il primo passaggio per abilitare un'esperienza multigiocatore consiste nell'integrare destinazioni, presenza nel gruppo e deep link. Nel prossimo post del blog, vedremo insieme come creare la tua versione dell'esempio di SharedSpaces in Unity e come configurarla per l'app.

Invito nell'app

L'invito nell'app consente ai giocatori di invitare facilmente gli amici di Quest e gli utenti con cui hanno giocato di recente nelle aree comuni esistenti attraverso il menu di Quest nei giochi supportati.

Quando invii un invito, la persona invitata riceve una notifica in VR e nell'app mobile Oculus che la invita a partecipare all'esperienza.

Per maggiori informazioni sulle API di invito nell'app e su come sfruttarle per la tua esperienza, consulta la pagina di documentazione.

Link di invito

Puoi anche utilizzare un link di invito che rimanda a una specifica destinazione con un gruppo di amici che utilizzano l'app mobile Oculus.

Il link di invito utilizza l'API Group Presence per assicurarsi che tutti gli utenti invitati siano rimandati alla stessa sessione. Per maggiori informazioni sul link di invito, consulta la pagina di documentazione.

Lista dei partecipanti

La lista dei partecipanti permette agli utenti di vedere gli amici attualmente in gioco. Gli utenti popolati dal gioco sono associati allo stesso ID sessione area comune quando la presenza dell'utente corrente è impostata dal gioco stesso. Nell'esempio di SharedSpaces, la lista dei partecipanti è accessibile dalla relativa scheda. L'immagine seguente fornisce un esempio di lista dei partecipanti in cui sono indicate le persone in gioco e quelle invitate a partecipare.

Esempio di SharedSpaces in Unity

Adesso che abbiamo approfondito alcune funzioni multigiocatore dell'SDK della piattaforma, diamo un'occhiata a un esempio di progetto denominato SharedSpaces in cui queste funzioni multigiocatore sono mostrate in azione. Daremo un'occhiata alla versione in Unity di questo esempio; se invece desideri scoprire la versione in Unreal, puoi trovarla in App Lab.

Come prima cosa, vediamo come funziona l'esempio di SharedSpaces in Unity. L'esempio utilizza tre livelli di networking:

  • L'SDK della piattaforma, che ci consente di impostare destinazioni, presenza, area comune e partita.
  • Il livello di trasporto, Photon SDK, che è responsabile della comunicazione tra gli utenti che condividono uno spazio.
  • Le funzionalità di networking fornite da Netcode di Unity per GameObjects SDK.

La figura seguente riassume i tre livelli di cui abbiamo parlato.

Installazione dell'esempio

Adesso che hai una conoscenza di base della modalità di funzionamento dell'app SharedSpaces, puoi scaricare l'esempio di SharedSpaces in Unity su App Lab e provarlo sul visore Quest.

Esecuzione dell'esempio

Dopo l'avvio dell'app sul visore Quest, noterai che l'inizio del gioco si svolge in una stanza denominata area comune. Il giocatore è rappresentato da un personaggio a colori che puoi controllare mediante i controller. Il controller sinistro controlla i movimenti del giocatore, mentre il controller destro sposta l'inquadratura in modo da permetterti di vedere comodamente il mondo intorno a te e scegliere di spostarti dove desideri. Premendo il pulsante Y sul controller comandi al giocatore di saltare.

Un scheda di debug sulla destra ti consente di conoscere lo stato delle destinazioni, il livello di networking e le informazioni sulle persone che accedono alla stanza. A sinistra vedrai tre destinazioni private e a destra una destinazione pubblica a cui puoi accedere.

In alto a sinistra, vedrai l'opzione per invitare gli amici a unirsi a te in questa esperienza. Si tratta della funzione Invita nell'app di cui abbiamo parlato in precedenza.

In alto a destra vedrai una lista dei partecipanti, contenente informazioni sulla presenza nel gruppo. Si tratta della funzione Lista dei partecipanti dell'SDK della piattaforma in azione.

Alle tue spalle, c'è un negozio di vernici dove hai la possibilità di modificare il colore del giocatore. In alternativa, puoi premere il pulsante X sul controller per la modifica del colore del giocatore.

In basso a sinistra e in basso a destra, vedrai un'opzione per porre domande a te e ai tuoi amici e ottenere maggiori informazioni sui giocatori.

Scenario del test di esempio

Adesso che hai acquisito familiarità con lo spazio, prova ad accedere a una delle destinazioni. La stanza viola è una destinazione pubblica a cui possono accedere tutti ed è raggiungibile da qualsiasi area comune. Ora torniamo nell'area comune.

Adesso prova ad accedere a una stanza diversa. Le stanze rossa, blu e verde sono private e necessitano di un invito per l'accesso.

Prima di entrare in una delle stanze private, puoi invitare un amico a unirsi a te. Accedi alla scheda "Invita amici" per vedere la lista degli amici disponibili e scegli un amico da invitare. Dal momento che l'esperienza nell'area comune è stata iniziata da te, sei tu ad ospitarla e a gestirla.

Si apre una notifica che informa l'amico che hai selezionato di essere stato invitato a partecipare al gioco. Se accetta l'invito, lo vedrai nell'area comune. Da quel momento in poi, condividerete lo stesso ID area comune per la sessione in corso.

Adesso puoi iniziare una partita privata nella stanza blu. Quando accedi alla stanza blu, il tuo amico potrebbe essere già presente. Se è entrato per primo, è lui a ospitare la stanza a cui tu sei semplicemente connesso. Il tuo ID sessione partita corrisponderà alla stanza blu. A questo punto, se abbandoni la stanza blu tornerete entrambi nell'area comune, poiché condividete lo stesso ID area comune.

Se avessi invitato il tuo amico dalla stanza blu e lui avesse accettato l'invito dalla sua area comune, il suo ID partita si sarebbe convertito nello stesso ID sessione partita corrispondente alla stanza blu, mentre il suo ID area comune sarebbe rimasto invariato. In tal caso, se entrambi aveste abbandonato la stanza blu, sareste tornati ognuno alla rispettiva area comune.

Concludiamo qui questa rapida spiegazione dell'app di esempio SharedSpaces in Unity. Abbiamo visto insieme alcune delle funzioni multigiocatore offerte dall'SDK della piattaforma e la relativa modalità di funzionamento nell'app SharedSpaces in Unity su Quest. Nel prossimo post del blog, vedremo come creare la tua copia di questo esempio, come scaricarla da GitHub, crearla ed eseguirla sul visore Quest.


Informazioni su questa serie

In questa serie, parliamo delle funzioni multigiocatore dell'SDK della piattaforma in Quest a partire da un esempio di SharedSpaces open source all'interno di Unity. Questo post del blog è il primo di una serie divisa in quattro parti a supporto della serie di video "Creazione dell'esperienza VR multigiocatore".

Per maggiori informazioni sulle funzioni multigiocatore dell'SDK della piattaforma e sul funzionamento dell'esempio di SharedSpaces, dai un'occhiata a questa sessione di Connect sulla creazione e lo sviluppo delle app multigiocatore per Quest. Prova l'esempio di SharedSpaces in Unity visitando App Lab ed eseguendolo sul tuo visore. Per maggiori informazioni su come utilizzare le funzioni multigiocatore dell'SDK della piattaforma nelle tue app, dai un'occhiata alla nostra documentazione per le funzioni multigiocatore.

Per maggiori informazioni su Meta Quest, visita il nostro sito web, attiva l'iscrizione per il nostro canale YouTube o seguici su Twitter e Facebook. In caso di domande, suggerimenti o feedback, comunicaceli nei forum degli sviluppatori.

Per maggiori informazioni su Meta Open Source, visita il nostro sito open source, attiva l'iscrizione per il nostro canale YouTube o seguici su Twitter e Facebook.