FusionStats
概要
Fusion Statsは、ネットワークテレメトリーを監視するためのUIコンポーネントで構成されています。FusionStats
コンポーネントは、テレメトリーのUI要素を生成・初期化・制御する主要なコンポーネントです。
Fusion Statsは、標準的なUnityEngine.UI
コンポーネントを使用しているため、スクリーンオーバーレイで表示したり、3D空間のオブジェクトにアタッチして表示したりすることが可能です。
基本的な使用方法
Fusion Statsをシーンに追加するには、
- Unity Editorのメニューから、
Fusion > GameObject > Add Fusion Stats
を実行する - ヒエラルキーか、ヒエラルキー上の
GameObject
を右クリックして、Fusion > Add Fusion Stats
を選択する

- ゲームオブジェクトが選択されている場合:
FusionStats
のデフォルトはStatsCanvasType.GameObject
となり、3D空間上の選択したオブジェクトにアタッチされて表示されます - ゲームオブジェクトが選択されていない場合:
FusionStats
のデフォルトはStatsCanvasType.Overlay
となり、スクリーン上に表示されます
このメニューは、自動的にFusionStatsBillboard
コンポーネントをオブジェクトに追加します。FusionStats.CanvasType
がGameObject
に設定されている場合、FusionStatsBillboard
によって、ゲームオブジェクトが自動的にカメラの方を向くようになります。
ランタイムの機能
シミュレーションの実行中は、いくつかの追加機能が利用可能です。ここでは、実行時に使用できるFusionGraph
の様々な「隠れた」機能を紹介します。
ビューオプション
FusionGraph
のタイトルをクリックすると、ビューオプションのドロップダウンリストが表示されます。

平均オプション
実行時にFusionGraph
の数値表示をクリックすると、現在のデータソースで利用可能な平均オプションが切り替わります。
- 秒あたりの平均
- ティックごとの平均
- サンプルあたりの平均

ハイライト
パネルの一番上にあるNetworkRunner
の名前をクリックすると、ヒエラルキー上のFusionStats
コンポーネントがハイライトされます。ゲームオブジェクトが選択されていない場合、インスペクター上にFusionStats
コンポーネントが表示されます。

FusionStatsコンポーネント
FusionStats
は、Fusion Statsの主要なコンポーネントになります。子CanvasとUIコンポーネントを生成し、実行時に、それらコンポーネントとNetworkRunner
やNetworkObject
のデータソースとの接続を管理します。
Redraw Interval
UIの更新頻度をこの値以下に制限します。値が大きいほど、パフォーマンスが向上します。
Layout セクション
Fusion StatsのCanvasの全体的なレイアウトに影響を与える項目です。
Canvas Type
Canvasには、2つのモードがあります。
GameObject
:キャンバスを3D空間で表示Overlay
:キャンバスをスクリーン空間で表示
GameObject Rect / Overlay Rect
矩形は編集可能で、UI.Canvas
要素をどこに表示するかを定義できます。任意の画面端や隅に、Canvasのグラフを表示することができます。
CanvasType
がGameObject
の場合は、GameObjectRect
が使用され、アタッチされたオブジェクトの中心からのオフセットを設定することができます。
CanvasType
がOverlay
の場合は、OverlayRect
が使用され、スクリーンのどこに表示するかを指定できます。FusionGraph
コンポーネントは、矩形に合わせて拡大縮小されます。
Canvas領域をクリック/ドラッグすると、インスペクター上で矩形を編集できます。
角をドラッグしたい場合は、かならずドロワーを展開してください。



Fusion Graphs Layout セクション
FusionGraph
コンポーネント(Fusion StatsのCanvasの下位要素)のレイアウトに影響を与える項目です。
Default Layout
Auto
に設定された子要素のFusionGraph
コンポーネントは、このレイアウト設定を使用して、各グラフの幅/高さに基づいたレイアウトが選択されます。
No Text Overlap
これを設定すると、グラフのUIにはFusion Graphs Layoutオプションが使用されず、テキストがグラフ(縦のバー)にオーバーラップするようになります。テキストが文字化けするケースで、この設定を使用してください。これは一般的に、VRのような、Canvasがカメラの方を向くようにビルボード化されていないケースで発生します。
Graph Column Count
グラフのカラム数は、FusionStats.GraphColumnCount
から手動で設定できます。FusionStats.GraphColumnCount
を0に設定すると、FusionStats.GraphMaxWidth
の値が使用され、Canvasの幅がこの値を超えると自動的に新しいカラムが作成されます。
Graph Max Width
FusionGraph
要素の最大幅です。この幅を超えると、必要に応じて新しいカラムが追加されます。
Network Object Stats セクション
ルートのNetworkObject
コンポーネントに関するオプションです。
NetworkObject
のゲームオブジェクトに、FusionStats
が追加されている場合のみ有効になります。
Enable Object Stats
ルートのNetworkObject
コンポーネントに対するUI表示とテレメトリー処理を有効にします。
Object Title Height
ゲームオブジェクト名のラベルの高さです。
Object Ids Height
ネットワークオブジェクトのIDと、プレイヤーの権限を表示する部分の高さです。
Object Meters Height
横のメーターバー部分の高さです。
Data セクション
どのデータソースを使用し、どのテレメトリーを表示するかのオプションです。
Runner
全てのテレメトリーデータには、関連するNetworkRunner
が必要です。これは、NetworkRunner
が起動した時に、自動的に検出されます。
Connect To
マルチピアモードでは、複数のNetworkRunner
が存在する可能性があるため、どのNetworkRunner
を検出するかを制御したい場合があります。SimulationModes
フラグとFusionStats.EnforceSingle
を併用すると、複数のピアが動作していても、FusionStats
のインスタンスを1つだけに制限できます。
Included Stats
各テレメトリー項目は、FusionGraph
の表示に含めたり除外したりすることができます。利用可能なテレメトリーデータは、以下の3つのグループに分けられます。
Net Stats
:ラウンドトリップタイム(RTT)や送受信データ量などの、ネットワークトランスポートレイヤーの統計Sim Stats
:再シミュレーション数・スナップショットサイズ・補間/予測の設定などの、Simulation
とNetworkRunner
の統計Obj Stats
:RPC数・ネットワークプロパティの帯域幅使用量などの、NetworkObject
関連の統計
Life-Cycle セクション
FusionStats
のゲームオブジェクトインスタンスの生成/破棄に影響するオプションです。
Auto Destroy
これを設定すると、関連するNetworkRunner
が切断された時に、FusionStats
のゲームオブジェクトは破棄されます。
Enforce Single
これを設定すると、同じFusionStats.GUID
を持つNetworkStats
のゲームオブジェクトインスタンスを破棄します。マルチピアモードにおいて、FusionStats
オブジェクトのインスタンスを、ピアごとではなく、1つだけに制限したい場合に便利です。どのピアを監視するかを制御するために、FusionStats.ConnectTo
と併用してください。
GUID
マルチピアモードにおいて、FusionStats.EnforceSingle
と併用して、同じFusionStats
オブジェクトの複数のインスタンスを識別します。