Multi-Peer Mode
概述
多重同儕節點模式允許Fusion在單個Unity編輯器執行個體中具現化多個完全獨立的NetworkRunner
執行個體,這些執行個體具有自己的相關Fusion模擬、物理場景、網路連線和場景。
從Unity編輯器頂部選單中選擇Fusion > NetworkProjectConfig
,然後將Peer Mode
設定為Multiple
,可以啟用多重同儕節點模式。
在一個Unity實例中運行多重同儕節點(NetworkRunners
)的能力允許:
- 在編輯器中測試多個客戶端,而無需進行多個組建或運行額外的Unity編輯器執行個體。
- 專用服務器,可以從單個Unity執行個體為多個遊戲階段提供服務。
- 可以同時連線到多個遊戲階段的客戶端。
網路運行器可見性
NetworkRunner
的可見性僅適用於多重同儕節點模式。預設下,所有同儕節點都是可見的。當載入場景或生成物件時,它們會在NetworkRunner
的可見性系統中登錄,該系統會自動找到渲染器、音訊源和構成給定同儕節點可見性的任何其他元件。
運行器啟用可見性元件
重要: 必須將RunnerEnableVisibility
元件新增到NetworkRunner
遊戲物件/預製件中,才能進行可見性控制。當此元件出現在網路運行器上時,將掃描所有附加的網路物件(包括生成的和場景中的NetworkObjects
)和場景中所有常規的GameObjects
(未具現化),以查找被認為是裝飾性的元件,並將這些元件新增到與該運行器關聯的清單中。然後,這些項目由NetworkRunner.SetVisibility(bool)
方法啟用和停用。
GetVisible()與SetVisible(布林值)
在多重同儕節點模式下運行時,NetworkRunner.SetVisible(bool)
將啟用和停用與該NetworkRunner
關聯的所有渲染/音訊等元件。這允許開發人員隱藏和顯示與運行器關聯的遊戲物件,而不會影響該運行器的程式碼執行。
EnableOnSingleRunner元件
此元件會自動為Components
欄位中列出的每個元件新增一個RunnerVisibilityLink
元件。在多重同儕節點模式下運行時,這些指示的元件將僅限於一個啟用的執行個體。這對於Unity打算作為單一的元件而言尤其重要,例如AudioListeners
和EventSystems
。
偏好的運行器
選擇當多個NetworkRunners
處於活躍中狀態時,應優先顯示哪種運行器同儕節點類型。
元件
當前僅標記為單個執行個體的元件。這裡的任何元件都將在除一個同儕節點之外的所有同儕節點上停用。
網路運行器控制視窗
Network Runner Controls
視窗可以透過Tools > Fusion > Windows > Network Runner Controls
選單開啟,並提供顯示/隱藏運行器以及控制哪些運行器收集使用者輸入的工具。也有快速存取按鈕,用於為任何活躍中的運行器建立新的FusionStats
重疊。
按一下清單中的NetworkRunner
名稱,將ping/選擇場景中的NetworkRunner
執行個體。
NetworkRunner.PlayerRef.PlayerId
顯示在NetworkRunner
名稱旁邊。如果PlayerObject
已指派給NetworkRunner
,按一下此按鈕將ping/選擇場景中的該玩家遊戲物件。
多重同儕節點整合示例
- Hathora使用簡單FPS範例