返回開發人員最新消息

打造您的多人遊戲 VR 體驗

2022年5月24日發佈者:Navyata Bawa

多人遊戲體驗已成為 VR 生態系統中愈來愈重要的一環。多人遊戲功能可讓用戶在各種遊戲和應用程式中輕鬆尋找、邀請並一起玩遊戲。這個「打造您的多人遊戲 VR 體驗」系列部落格和影片包含四個部分,我們會藉由探索在 Unity 中製作的開放原始碼 SharedSpaces 範例,來討論 Quest 中的 Platform SDK 多人遊戲功能,並為您示範如何使用該範例來組建您自己的多人遊戲應用程式。如果您有興趣以觀看或聆聽的方式來學習,請查看 Meta Open Source YouTube 頻道上的這部影片

在今天的部落格中,我們將介紹 Platform SDK 中的多人遊戲功能,以及可用來建構的內容。我們也會介紹 App Lab 提供的 Unity SharedSpaces 範例,並查看這些多人遊戲功能的實際應用情況。

多人遊戲功能

Quest 多人遊戲功能包括「目的地」、「群組上線狀態」、「邀請」、「邀請連結」、「玩家名單」等等,可讓用戶在 VR 應用程式中尋找、邀請並一起玩遊戲。這些功能可增進應用程式內的社交互動,並讓您的忠實粉絲邀請其他用戶加入他們,創造獨特的多人遊戲體驗,讓玩家覺得真的和朋友一起在應用程式裡。

目的地

目的地是用戶在應用程式中前往的位置,對於 Quest 開發中的多人遊戲功能至關重要。下圖顯示 SharedSpaces 應用程式範例中的三個目的地。在我們的下一篇部落格中,我們將介紹為應用程式設定目的地的步驟。

群組上線狀態

「群組上線狀態」提供某人所在應用程式的相關資訊:是否有比賽、是否位於特定目的地、是否可供加入等等。若要進一步瞭解目的地和群組上線狀態的相關資訊,請參閱我們的說明文件,查看各種使用案例情境,以及在應用程式中使用這些功能的最佳作法。

深層連結

深層連結可讓開發人員將用戶引導至特定體驗。每當有人啟動應用程式來加入朋友或導覽到目的地時,深層連結都會包含有關所需目的地以及任何大廳或比賽的資訊。

實現多人遊戲體驗的第一步是整合目的地、群組上線狀態和深層連結。在我們的下一篇部落格中,我們將介紹如何組建您自己的 Unity SharedSpaces 範例版本,以及如何為您的應用程式設定這些版本。

邀請使用應用程式

「邀請使用應用程式」可讓玩家在支援的遊戲中,使用 Quest 功能表直接邀請 Quest 朋友和「最近一起玩遊戲的對象」進入現有的大廳。

當您發送邀請時,會在 VR 和 Oculus 行動應用程式中向受邀者彈出通知,邀請他們加入體驗。

若要進一步瞭解「邀請使用應用程式 API」,以及如何將其運用在您的體驗中,請參閱說明文件頁面

邀請連結

您也可以使用「邀請連結」與一群使用 Oculus 行動應用程式的朋友一起進入目的地。

「邀請連結」使用「群組上線狀態 API」來確保所有人都會到達同一個集會空間。若要進一步瞭解「邀請連結」,請參閱說明文件頁面

玩家名單

「玩家名單」協助用戶查看哪些朋友和他們一起在遊戲中。當遊戲設定目前用戶的上線狀態後,遊戲填入的用戶就會在同一個大廳集會空間編號中。在 SharedSpaces 範例中,只要踏上玩家名單面板,即可取得玩家名單。下圖範例顯示玩家名單如何顯示誰在和您一起玩,以及已經邀請誰加入您。

Unity SharedSpaces 範例

我們已經介紹幾個 Platform SDK 多人遊戲功能,現在來看一個名為 SharedSpaces 的專案範例,瞭解這些多人遊戲功能的實際應用情況。我們要看的是此範例的 Unity 版本,但如果您對 Unreal 版本感興趣,可以在 App Lab 上找到此版本

首先,我們來看一下 Unity SharedSpaces 範例的運作方式。此範例使用三層網路:

  • 我們的 Platform SDK,可讓我們設定目的地、上線狀態、大廳和比賽。
  • 我們的傳輸層 Photon SDK,負責共享空間的用戶之間的通訊。
  • Unity 的 Netcode for GameObjects SDK 提供的網路功能。

下圖彙整了我們討論的這三層網路。

安裝範例

現在您對 SharedSpaces 應用程式的運作方式已經有基本的瞭解,可以在 App Lab 上下載 Unity SharedSpaces 範例,並在您的 Quest 頭戴式裝置上試用。

執行範例

您在 Quest 頭戴式裝置上啟動應用程式後,會發現您是從一個名為「大廳」的虛擬空間開始。玩家是由一個彩色的角色代表,您可以使用控制器來控制該角色。左控制器移動玩家,右控制器移動相機,以便您舒適地查看周遭的世界,並選擇前往您想去的地方。按下控制器上的 Y 按鈕可以讓玩家跳躍。

右側的偵錯面板可讓您瞭解目的地的狀態、網路層,以及加入此虛擬空間者的相關資訊。您會在左側看到三個您可以進入的私人目的地,並在右側看到一個您可以進入的公共目的地。

在左上方,您會看到可邀請朋友加入此體驗的選項。這就是我們前面所討論的「邀請使用應用程式」功能。

在右上方,您會看到一個玩家名單,其中會顯示群組上線狀態的相關資訊。這是 Platform SDK 的「玩家名單」功能的實際應用情況。

在您身後有一家油漆店,您可以在那裡選擇變更玩家的顏色。或者,您也可以按控制器上的 X 按鈕來變更玩家的顏色。

在左下方和右下方,您會看到一個用來查詢您自己和朋友的選項,可取得有關玩家的更多資訊。

範例測試情境

現在您已熟悉此空間,可以嘗試進入其中一個目的地。紫色虛擬空間是公共目的地,任何人都可以進入,並且可以從任何大廳到達。現在,讓我們回到大廳。

回到大廳後,嘗試進入另一個不同的虛擬空間。紅色、藍色和綠色虛擬空間是私人的,需要邀請才能進入。

在您進入其中一間私人虛擬空間之前,可以邀請某人加入您的行列。前往「邀請朋友」面板查看可邀請的朋友名單,並從名單中邀請一位朋友。由於您是從大廳開始體驗,因此您就是大廳的主要客戶,並且由您主持。

系統會彈出通知,告訴受邀的朋友您已邀請他們加入您。如果他們接受邀請加入您,您就會在大廳中看到他們。從現在開始,雙方即共享此集會空間的同一個大廳編號。

您現在可以在藍色虛擬空間中開始私人比賽。當您進入藍色虛擬空間時,可能會看到朋友比您先進入藍色虛擬空間。由於他們先進入,所以是由他們主持該虛擬空間,而您會與他們連線。您也有對應於藍色虛擬空間的相同比賽集會空間編號。現在,如果您離開藍色虛擬空間,雙方都會返回您的大廳,因為您們共用相同的大廳編號。

如果您邀請朋友時,是在藍色虛擬空間中,而朋友在他們自己的大廳,並且接受您的邀請,則他們的比賽編號會變更為對應於藍色虛擬空間的相同比賽集會空間編號,但他們的大廳編號會是之前擁有的相同編號。在此情況下,如果雙方都離開藍色虛擬空間,則會回到各自的大廳,這是不同之處。

這是 Unity SharedSpaces 應用程式範例的快速演練流程。我們介紹了 Platform SDK 必須提供的一些多人遊戲功能,以及這些功能如何在 Quest 上的 Unity SharedSpaces 應用程式中運作。在我們的下一篇部落格中,我們將介紹如何組建您自己的此範例副本,包括如何從 Github 下載,然後在您的 Quest 頭戴式裝置上組建及執行。


關於此系列

在此系列中,我們會藉由探索在 Unity 中製作的開放原始碼 SharedSpaces 範例,來討論 Quest 中的 Platform SDK 多人遊戲功能。此部落格是連續四篇部落格的第一篇,旨在輔助「打造您的多人遊戲 VR 體驗」系列影片。

若要進一步瞭解 Platform SDK 多人遊戲功能,以及 SharedSpaces 範例的運作方式,請查看此 Connect 研討會,其中討論如何組建及開發適用於 Quest 的多人遊戲應用程式。若要試用 Unity SharedSpaces 範例,您可以造訪 App Lab,並在自己的頭戴式裝置上執行該範例。若要進一步瞭解如何在您自己的應用程式中使用 Platform SDK 多人遊戲功能,請查看我們有關多人遊戲功能的說明文件。

若要進一步瞭解 Meta Quest,請造訪我們的網站、訂閱我們的 YouTube 頻道,或追蹤我們的 TwitterFacebook 帳號。如果您有任何問題、建議或意見回饋,請在開發人員論壇中告訴我們。

若要進一步瞭解 Meta 開放原始碼,請造訪我們的開放原始碼網站、訂閱我們的 YouTube 頻道,或追蹤我們的 TwitterFacebook 帳號。