This document is about: FUSION 2
SWITCH TO

Multi-Peer Mode

概述

多重同儕節點模式允許Fusion在單個Unity編輯器執行個體中具現化多個完全獨立的NetworkRunner執行個體,這些執行個體具有自己的相關Fusion模擬、物理場景、網路連線和場景。

從Unity編輯器頂部選單中選擇Fusion > NetworkProjectConfig,然後將Peer Mode設定為Multiple,可以啟用多重同儕節點模式。

add fusion stats
在網路專案設置中選擇多重同儕節點模式。

在一個Unity實例中運行多重同儕節點(NetworkRunners)的能力允許:

  • 在編輯器中測試多個客戶端,而無需進行多個組建或運行額外的Unity編輯器執行個體。
  • 專用服務器,可以從單個Unity執行個體為多個遊戲階段提供服務。
  • 可以同時連線到多個遊戲階段的客戶端。

網路運行器可見性

NetworkRunner的可見性僅適用於多重同儕節點模式。預設下,所有同儕節點都是可見的。當載入場景或生成物件時,它們會在NetworkRunner的可見性系統中登錄,該系統會自動找到渲染器、音訊源和構成給定同儕節點可見性的任何其他元件。

運行器啟用可見性元件

重要: 必須將RunnerEnableVisibility元件新增到NetworkRunner遊戲物件/預製件中,才能進行可見性控制。當此元件出現在網路運行器上時,將掃描所有附加的網路物件(包括生成的和場景中的NetworkObjects)和場景中所有常規的GameObjects(未具現化),以查找被認為是裝飾性的元件,並將這些元件新增到與該運行器關聯的清單中。然後,這些項目由NetworkRunner.SetVisibility(bool)方法啟用和停用。

GetVisible()與SetVisible(布林值)

在多重同儕節點模式下運行時,NetworkRunner.SetVisible(bool)將啟用和停用與該NetworkRunner關聯的所有渲染/音訊等元件。這允許開發人員隱藏和顯示與運行器關聯的遊戲物件,而不會影響該運行器的程式碼執行。

EnableOnSingleRunner元件

此元件會自動為Components欄位中列出的每個元件新增一個RunnerVisibilityLink元件。在多重同儕節點模式下運行時,這些指示的元件將僅限於一個啟用的執行個體。這對於Unity打算作為單一的元件而言尤其重要,例如AudioListenersEventSystems

runner visibility nodes
運行器可見性節點。
所有運行器都應該彼此完全獨立。因此,強烈建議避免任何影響模擬的靜態變數和單一。雖然並不總是一定發生的,但在運行多個網路運行器執行個體時(使用多重同儕節點模式時就是這種情況),靜態和單一會發生衝突。

偏好的運行器

選擇當多個NetworkRunners處於活躍中狀態時,應優先顯示哪種運行器同儕節點類型。

元件

當前僅標記為單個執行個體的元件。這裡的任何元件都將在除一個同儕節點之外的所有同儕節點上停用。

網路運行器控制視窗

Network Runner Controls視窗可以透過Tools > Fusion > Windows > Network Runner Controls選單開啟,並提供顯示/隱藏運行器以及控制哪些運行器收集使用者輸入的工具。也有快速存取按鈕,用於為任何活躍中的運行器建立新的FusionStats重疊。

network runner controls
網路運行器控制。

按一下清單中的NetworkRunner名稱,將ping/選擇場景中的NetworkRunner執行個體。

NetworkRunner.PlayerRef.PlayerId顯示在NetworkRunner名稱旁邊。如果PlayerObject已指派給NetworkRunner,按一下此按鈕將ping/選擇場景中的該玩家遊戲物件。

多重同儕節點整合示例

Back to top