FusionStats
概述
Fusion Stats由一組使用者介面元件所組成,以監控網路遙測。
FusionStats
元件是生成、初始化及控制遙測使用者介面元素的階層的主要元件。
Fusion Stats使用基本的UnityEngine.UI
元件,這允許統計資料在組建時可以透過一個畫面覆疊,或透過附加於3D空間中的一個物件的方式被檢視。
基本使用
新增FusionStats到一個場景之中,運行Unity編輯器選單:
Fusion > GameObject > Add Fusion Stats
或以右鍵在階層上點擊 (或階層中的一個遊戲物件) 並選擇:
Fusion > Add Fusion Stats
- 如果選擇了一個遊戲物件:
FusionStats
將預設為StatsCanvasType.Game Object
,而且統計資料將附加於3D空間中的一個物件,在3D空間中進行轉譯。 - 如果沒有選擇物件:
FusionStats
將預設為StatsCanvasType.Overlay
,而且統計資料將在畫面空間中進行轉譯。
這個選單選項也將自動將FusionStatsBillboard
元件新增到物件。
當FusionStats.CanvasType
設定為遊戲物件時,FusionStatsBillboard
元件將自動以相機面對遊戲物件。
隱藏功能
- 當運行時,按一下
FusionGraph
的標題將打開一個下拉式選單,其中可選擇該圖表的檢視選項(如果有超過一個選項可選)。
- 當運行時,按一下
FusionGraph
的值欄位,將在任何可用的值描述方式中進行循環。
比如- 每秒平均值
- 每幀平均值
- 每範例平均值。
- 當運行時,按一下網路執行器名稱上的統計資料面板的最頂端,將會偵測在階層中的FusionStats元件,而如果目前沒有選擇遊戲物件,將會選擇在偵測器中的FusionStats元件。
FusionStats元件
FusionStats是所有Fusion統計資料的主要根元件。它生成子畫布和使用者介面元件,以及在運行時將這些遙測元件連接到網路執行器及網路物件資料源。
重繪間隔
限制使用者介面更新,永不發生超過一次。增加此值將會增強表現。
配置區段
畫布類型
有兩種畫布模式。遊戲物件 及 覆疊。
- 遊戲物件將在3D空間中轉譯畫布。
- 覆疊將在畫面空間中轉譯畫布。
請注意:Fusion圖表著色器(棒狀圖表遙測)只在覆疊模式中進行轉譯。
遊戲物件矩形/覆疊矩形
這些可編輯的矩形定義了在畫布上元件將會轉譯在何處。這允許圖表在畫布上的特定一邊或角落進行轉譯,就算是統計資料的物件附加於——或正在覆疊模式中也無所謂,就算有其他導覽或使用者介面元素也無所謂。
FusionGraph
元件將隨需縮放,以填滿這個矩形區域。
這個矩形區域可透過拖放於已模擬的畫布區域的方式,或透過選取黃色控點並拖曳角落的方式,在檢查器中畫出。如果您希望拖曳角落,請確保展開矩形選單。
圖表欄計數
圖表欄計數可透過手動設定,以FusionStats.GraphColumnCount
設定。當設定為0時,當畫布寬度超過FusionStats.GraphMaxWidth
值時,該值將被用於自動建立新欄。
圖表最大寬度
一個FusionGraph
元素所能延展的最大寬度。當超過這個寬度,將隨需要來新增欄。
網路物件統計資料區段
啟用物件統計資料
當切換開啟後,網路物件統計資料(ObjStats)將可用。這些需要在根上或在FusionStats
物件的父物件上有一個NetworkObject
元件。
資料區段
執行器
所有遙測資料都需要一個NetworkRunner
關聯。當網路執行器開啟時,這將自動被找到。
連接到
在多重同儕節點模式中,可能有超過一個執行器,所以您可能希望控制被找到的執行器種類(在多重同儕節點模式中,可能有超過一個執行器)。這些與FusionStats.EnforceSingle
相連結的SimulationModes
旗標確保此FusionStats將只有一個執行個體存在,而不論有多少同儕節點正在運行。
被包含的統計資料
各個遙測物品都可從已轉譯的Fusion圖表集中包含或排除。可用的遙測資料來自引擎的三個部分,並且相應地分組。
- NetStats——網路傳輸層統計資料,比如往返時間(rtt)及總輸入/輸出資料。
- SimStats——
Simulation
及NetworkRunner
統計資料,比如重新模擬計數、快照尺寸,以及內插補點/預測的詳細規格。 - ObjStats——
NetworkObject
特定遙測,比如遠端過程調用計數以及已連接網路的狀態值所使用的帶寬。
生命週期區段
自動終結
當Fusion Stats遊戲物件關聯的網路執行器連結中斷時,當判定為真時,Fusion Stats遊戲物件將被終結。
強制單一
當判定為真時,將終結重複的且有同樣的FusionStats.GUID
的網路統計資料的遊戲物件執行個體。在多重同儕節點模式中這相當有用,也就是當您只希望一個FusionStats物件的執行個體,而不是針對各個同儕節點都各有一個執行個體。與FusionStats.ConnectTo
一起使用這個功能,以控制您所希望監控的同儕節點類型。
GUID
與FusionStats.EnforceSingle
一起使用,以在多重同儕節點模式中識別同一個統計資料物件的多個執行個體。