Fusion Unreal Intro

概述

Photon Fusion Unreal 是一個基於狀態複製的高性能網路編碼 SDK。它基於分散式授權架構,與傳統的 Unreal 內建網路編碼用戶端 - 伺服器模型相比,兼具成本效益和較低的操作複雜性。

與此同時,它採用「引擎優先」的方法,大多數(如果不是全部)主機引擎功能應該都能直接使用。

用戶端 - 伺服器架構的替代方案

Unreal 引擎包含內建的用戶端 - 伺服器複製功能,可覆蓋許多重要的使用場景。然而,維護專用伺服器會帶來更高的成本和複雜的協調工作,而讓遊戲用戶端 / 玩家作為主機,由於品質不一致,也不是一個可行的解決方案。

Fusion Unreal 專門採用共享拓撲,其中用戶端對其生成的角色擁有授權,並且透過我們具成本效益且經過實戰考驗的 Photon Cloud 作為遊戲狀態分發、興趣管理和其他功能的中央樞紐。

以下是 Fusion 共享授權模型與 Unreal 內建用戶端 - 伺服器網路編碼的對比表。Fusion 在合作遊戲、VR 和行動端表現特別出色,在這些領域中,執行成本和可擴展性是重要因素。

Comparison table between Fusion Shared and Unreal´s built-in client server approaches

Unreal 優先方法

Fusion Unreal 作為 Unreal 外掛程式運行,無需編譯引擎的分支或進行其他複雜操作。只需將外掛程式納入您的專案,即可開始開發。

它還尊重現有的 Unreal 網路編碼語義,因此將 UProperties 設定為 Replicate/RepNotify 會自動使它們也被 Fusion 複製,並達到預期效果。

也無需繼承任何特殊類型,可以在 C++ 中或直接透過 Blueprints 定義角色、元件和屬性。編寫遊戲邏輯也是如此,也可以直接從現有的 UE Tick()(包括 C++ 和藍圖)進行。

遠端程序呼叫(RPC)與內建的非常相似,但由於需要指定目標的特殊共享授權語義,Fusion 為這些呼叫定義了自訂的 Blueprint 節點。

透過閱讀快速入門指南可以了解更多詳細資訊。

預測:分散式物理預測

Fusion Unreal 包含我們最先進的分散式物理預測模組,名為 Forecast。它直接與 Unreal 的 Chaos Physics 整合,當複製的角色使用物理時會自動啟用。以下是快速入門指南中的一個範例,展示了兩個角色與一個基於物理的球體無縫互動:

Players interacting with the physics based object

它也可以完全禁用,或進行調整以更好地適應特定需求,但預設設定非常適用於互動物件和車輛等。

伺服器端邏輯(引擎程式碼之外)

儘管 Fusion 在某種意義上是「無伺服器」的,因為它不需要 Unreal Engine 實例作為伺服器,但它也不是點對點系統。遊戲會話實例透過 Photon Cloud 基礎架構託管,其遊戲狀態由我們的伺服器管理。

這不僅立即支援與遊戲無關的興趣區域和物件優先級設定,還允許在必要時未來添加輕量級伺服器程式碼。

使這成為可能的關鍵 Fusion 功能是類型佈局和數據都會上傳到 Photon Cloud。這允許將一些關鍵程式碼路徑卸載到 Photon 伺服器上高效運行(透過企業託管),例如:延遲補償、視線檢查、角色移動速度驗證、對特定網路角色或元件的自訂更改等。

如果您有興趣在該功能完全推出後進行評估,請與我們聯繫。

接下來去哪裡

要開始使用 Photon Fusion Unreal,我們強烈建議從快速入門指南開始,它會教您所有必要的基礎知識,以啟動您的第一個專案。

Back to top