快速入門:PlayFab Party Unity 外掛程式
本快速入門可協助您安裝適用於 Unity 的 Party SDK,並進行第一次 API 呼叫,讓玩家一起加入 Party 網路。在繼續之前,請確定您已從 PlayFab 帳戶完成透過 Game Manager 啟用 Party 功能。如果您打算使用此外掛程式開發以 Microsoft Game Development Kit (GDK) 為基礎的遊戲,需要另外取得並安裝 GDK。另請參閱 XBOX 主機上 Game Core 的 Unity 附加元件詳細資料。
需求
- PlayFab 開發人員帳戶。
- 已安裝的 Unity Editor。若要透過 Unity Hub 安裝個人使用的 Unity,或專業使用的 Unity+,請參閱下載 Unity。必要時,請在特定平台的文件中確認 Unity 支援情況。支援的最低 Unity 版本為 Unity 2017 LTS。
-
Unity 專案,可以是下列任一選項:
- 全新專案:如需詳細資訊,請參閱第一次啟動 Unity。
- 引導式教學課程專案。如需詳細資訊,請參閱開始使用 Unity。
- 現有專案。
- PlayFab「核心」Unity3D SDK。如需安裝 Unity3D SDK 的資訊,請參閱快速入門:Unity 中的 C# 版 PlayFab 用戶端程式庫的「下載並安裝 PlayFab SDK」一節。
下載並安裝 PlayFab Party Unity 外掛程式
依照下列步驟下載並安裝 PlayFab Party Unity 外掛程式。- 下載 PlayFab Party Unity 外掛程式資產套件 (依您的平台使用對應的散發點)。
- 重要! 請參閱隨外掛程式發佈之 README 檔案中的資訊。它是針對每個特定版本量身打造的,可能包含您平台專屬的重要指示。
- 開啟您的 Unity 專案。
- 瀏覽至您儲存 .unitypackage 的位置,然後按兩下以開啟匯入對話方塊。
- 若要將 PlayFab Party Unity 外掛程式匯入專案,請選取 Import。
設定場景
本指南的這個部分說明如何將PlayFabMultiplayerManager 新增至場景,讓您能從 Unity 呼叫 PlayFab Party API。
建立網路之前,您必須有已登入的 PlayFab 玩家。如需登入玩家的資訊,請參閱快速入門:Unity 中的 C# 版 PlayFab 用戶端程式庫中的進行第一次 API 呼叫。
- 在 Unity 編輯器的 Project 視窗中,瀏覽至 Assets > PlayFabPartySDK > Prefabs。
- 從 Prefabs 資料夾中,將 PlayFabMultiplayerManager 拖放到 Hierarchy 視窗中的場景。
- 在場景中建立名為 “HelloPartyLogic” 的空白 Game Object。
- 選取 HelloPartyLogic Game Object 以開啟 Inspector。
- 選取 Add Component。
- 輸入 “HelloPartyLogic” 並按 Enter,以顯示新指令碼功能表。
- 再按一次 Enter 以建立新指令碼 HelloPartyLogic.cs。
- 在 Project 視窗中找到指令碼,然後按兩下以編輯指令碼。
-
將下列 using 陳述式新增至指令碼:
-
在 Start 方法中新增下列程式碼以登入 PlayFab。
-
將下列方法新增至類別。
您可能會收到下列錯誤:
Error CS0227 Unsafe code may only appear if compiling with /unsafe The plugin requires unsafe code because it interops with a native DLL. Mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "XGamingRuntime", "AMD64".- 在 Unity Editor 中,選取 File > Build Settings.
- 選取您的平台。然後從 Architecture 下拉式清單中,選取 x86_64 或 x64。
- 選取 Player Settings.
- 在右窗格中,選取 Other Setting。
- 找到 Allow unsafe Code 設定並加以選取。
- 關閉 Build Settings 和 Project Settings 視窗。
連線到網路
本指南的這個部分說明如何建立並加入網路。-
開啟 HelloPartyLogic.cs 指令碼。在
OnLoginSuccess方法中,新增下列程式碼以建立並加入網路: -
若要定義 OnNetworkJoined 事件處理常式,請將下列程式碼新增至類別:
- 儲存並在 Unity Editor 中選取 Play。網路識別碼會顯示在 Console 視窗中。
加入現有網路
本指南的這個部分說明如何加入其他用戶端建立的現有網路。-
開啟 HelloPartyLogic.cs 指令碼。在 OnLoginSuccess 方法中,新增下列程式碼以加入網路:
-
若要定義在本機用戶端加入網路時引發的事件,請將下列程式碼新增至
OnLoginSuccess方法: -
若要定義 OnNetworkJoined 事件處理常式,請將下列程式碼新增至類別:
有許多方式可以將網路識別碼從主機傳遞給其他想要加入的玩家。如需如何執行此作業的範例,請參閱此 Unity 外掛程式中的範例。
- 儲存並在 Unity Editor 中選取 Play。字串 “Network joined!” 會顯示在 Console 視窗中。
存取其他玩家
本指南的這個部分說明如何存取網路上的其他玩家,包括本機玩家。 若要接聽新玩家加入和離開網路,請註冊 OnRemotePlayerJoined 和 OnRemotePlayerLeft 事件。-
開啟 HelloPartyLogic.cs 指令碼。在 OnLoginSuccess 方法中,新增下列程式碼以建立並加入網路:
-
將下列方法新增至類別:
-
若要存取本機玩家,請將下列程式碼新增至 OnRemotePlayerJoined 方法:
傳送和接收資料訊息
本指南的這個部分說明如何傳送和接收資料訊息。開始傳送和接收資料訊息之前,您必須先加入網路。-
開啟 HelloPartyLogic.cs 指令碼。在 OnLoginSuccess 方法中,新增下列程式碼以接聽資料訊息:
-
將
OnDataMessageRecieved事件處理常式新增至類別: -
若要傳送資料訊息,請將下列程式碼新增至 Update 方法:
- 在第二個用戶端中,重複連線到網路中的步驟,以建立並加入網路。
- 將傳回的網路識別碼複製到第一個用戶端,並連線到網路。
- 在場景上選取以傳送訊息。“Hello (data message)” 會顯示在 Console 視窗中。
傳送和接收聊天訊息
本指南的這個部分說明如何傳送和接收聊天訊息,以及將遠端玩家靜音。除了文字聊天之外,Party 也會自動啟用玩家之間的語音聊天。 開始傳送和接收聊天訊息之前,您必須先加入網路。-
開啟 HelloPartyLogic.cs 指令碼。在 OnLoginSuccess 方法中,新增下列程式碼以接聽聊天訊息:
-
將事件處理常式
OnChatMessageReceived新增至類別;
- 在第二個用戶端中,重複連線到網路中的步驟,以建立並加入網路。
- 將傳回的網路識別碼複製到第一個用戶端,並連線到網路。
- 當您在場景上選取時,就會傳送訊息,並顯示在 Console 視窗中。
-
如果您想要讓玩家選擇將其他玩家靜音,請將 IsMuted 屬性設為 true。
使用自訂對等連線設定選項連線到網路
本指南的這個部分說明如何使用自訂對等連線設定選項建立並加入網路。預設選項為 P2P,不過,使用者可以使用此處所列旗標的任意組合來修改此選項:DirectPeerConnectivityOptions。此範例顯示如何設定 P2P:-
開啟 HelloPartyLogic.cs 指令碼。在
OnLoginSuccess方法中,新增下列程式碼以建立並加入網路:
