返回開發人員最新消息

建立多人遊戲 VR 體驗

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

多人遊戲體驗現已成為 VR 生態系統中越來越重要的一環。多人遊戲功能可讓用戶在各種遊戲和應用程式中輕鬆尋找並邀請其他用戶,更可組隊暢玩。本次「建立多人遊戲 VR 體驗」網誌和影片專題系列包括四個部分。在本系列中,我們會透過探索在 Unity 中製作的開放原始碼 SharedSpaces 範例來討論平台 SDK 中與 Quest 多人遊戲功能相關的內容,並會展示如何使用此範例構建自己的多人遊戲應用程式。如有興趣觀看或收聽此專題內容以了解更多,歡迎前往 Meta Open Source YouTube 頻道收看這段影片

本篇網誌將會介紹平台 SDK 中的多人遊戲功能,以及您可透過此 SDK 建立的體驗。此外,我們還將介紹 App Lab 中的 Unity SharedSpaces 範例,並會展示這些多人遊戲功能的實際運作情形。

多人遊戲功能

Quest 多人遊戲功能包括「目的地」、「團隊部署」、「邀請」、「邀請連結」、「玩家名單」等,可讓用戶在 VR 應用程式中尋找並邀請其他用戶,以及組隊暢玩。這些功能可增強應用程式內的社交互動,並可讓您的忠實粉絲邀請其他朋友加入其中,從而建立獨特的多人遊戲體驗,令玩家感到與朋友一同處身於應用程式內。

目的地

「目的地」是用戶在應用程式中前往的位置,對於 Quest 開發中的多人遊戲功能至關重要。下圖為 SharedSpaces 應用程式範例中的三個目的地。我們將在下一篇網誌講解設定應用程式目的地的步驟。

團隊部署

「團隊部署」提供某人所在應用程式的相關資訊,例如該處是否有比賽、部分用戶是否處於特定目的地、能否加入團隊之類。如需進一步了解目的地和團隊部署,請參閱我們的文件,查看各種使用案例,以及了解如何在應用程式中將這些功能用得其所。

深層連結

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

實現多人遊戲體驗的第一步,就是整合目的地、團隊部署和深層連結。我們將在下一篇網誌講解如何構建自己的 Unity SharedSpaces 範例,以及如何為您的應用程式設定這些功能。

邀請使用應用程式

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

當您傳送邀請時,VR 和 Oculus 流動應用程式會向受邀對象彈出通知,邀請他們加入體驗。

如需進一步了解「邀請使用應用程式」API,以及如何在您的體驗中使用此 API,請瀏覽文件頁面

邀請連結

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

「邀請連結」透過團隊部署 API 確保所有人進入同一個連線階段。如需進一步了解「邀請連結」,請瀏覽文件頁面

玩家名單

「玩家名單」可助用戶查看加入了同一場遊戲中的朋友。當遊戲設定好目前用戶的在場狀態後,由遊戲填入的用戶就會處於同一個中庭連線階段編號。在 SharedSpaces 範例中,您可以透過踏上玩家名單面板來查看玩家名單。下圖示範了玩家名單會以何種方式展示與您一起玩遊戲的玩家,以及您邀請加入的對象。

Unity SharedSpaces 範例

現在我們已了解過一些平台 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 按鈕可以讓玩家跳躍。

右側的偵錯面板可讓您了解目的地的狀態、網絡層,以及哪位用戶加入了虛擬空間的相關資訊。左側顯示三個可進入的私人目的地;右側顯示一個可進入的公共目的地。

左上方顯示邀請朋友加入此體驗群組的選項;這就是我們先前提及的「邀請使用應用程式」功能。

右上方顯示玩家名單,當中顯示團隊部署的相關資訊;這就是平台 SDK「玩家名單」功能的實際運作情形。

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

左下方和右下方顯示的選項可供您就自己和您的朋友提出查詢,以了解更多有關玩家的資訊。

範例測試情況

現在您已對此空間非常熟悉,可以嘗試進入其中一個目的地。「紫色虛擬空間」是一個公共目的地,可供任何人從任何中庭進入。現在讓我們返回中庭。

返回中庭後,您可以嘗試進入其他虛擬空間。「紅色虛擬空間」、「藍色虛擬空間」和「綠色虛擬空間」都是虛擬空間,需要邀請才能進入。

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

系統會向受邀朋友彈出通知,告知他們您已邀請其加入遊戲。如果他們接受您的加入邀請,您就會在中庭看到他們。從現在開始,您和朋友在這個連線階段中共用同一個中庭編號。

您現在可以在「藍色虛擬空間」開始私人比賽。進入「藍色虛擬空間」時,您可能會看到朋友比您更早進入空間。由於他們較先進入,所以虛擬空間由他們主持,而您會與他們連線。此外,您會與他們共用同一個與「藍色虛擬空間」對應的比賽連線階段編號。現在,如果您退出「藍色虛擬空間」,您和朋友都會返回您的中庭,這是因為雙方的中庭編號相同。

如果您在「藍色虛擬空間」邀請朋友,而他們當時在自己的中庭接受邀請,則他們的比賽編號會變更為與「藍色虛擬空間」對應的比賽連線階段編號,但他們的中庭編號仍與他們之前擁有的中庭編號相同。在此情況下,如果您和朋友都離開了「藍色虛擬空間」,便會返回各自的中庭;這是與上一個情境不同之處。

以上就是有關 Unity SharedSpaces 應用程式範例的簡要說明。我們介紹了平台 SDK 所提供的部分多人遊戲功能,以及這些功能如何在 Quest 上的 Unity SharedSpaces 應用程式中運作。我們將在下一篇網誌講解如何根據此類範例構建自己的體驗,包括如何從 Github 下載範例並在 Quest 頭戴式裝置上構建和執行。


關於本系列

在本系列中,我們透過透過探索在 Unity 中製作的開放原始碼 SharedSpaces 範例來討論平台 SDK 中與 Quest 多人遊戲功能相關的內容。「建立多人遊戲 VR 體驗」影片系列為輔助網誌系列,分為四部分,本網誌為第一部分。

如需進一步了解平台 SDK 的多人遊戲功能以及 SharedSpaces 範例的運作方式,請參閱此連結課程,當中介紹了如何為 Quest 構建和開發多人遊戲應用程式。如要試用 Unity SharedSpaces 範例,您可以瀏覽 App Lab 並在自己的頭戴式裝置上運行此範例。如需進一步了解如何在自己的應用程式中使用平台 SDK 的多人遊戲功能,請參閱有關多人遊戲功能的文件。

如需進一步了解 Meta Quest,請瀏覽我們的網站、訂閱我們的 YouTube 頻道或在 TwitterFacebook 追蹤我們。如有任何問題、建議或意見,歡迎前往開發人員論壇告知我們。

如需進一步了解 Meta Open Source,請瀏覽我們的開放來源網站訂閱我們的 YouTube 頻道或在 TwitterFacebook 追蹤我們。