Fusion Statistics 2.0
概要
Fusion Statisticsは、Fusionの有用なテレメトリー(収集データ)を監視するためのUIコンポーネントで構成されています。FusionStatisticsコンポーネントは、テレメトリーのUI要素の生成・初期化・制御を行う主要なコンポーネントです。
Fusion Statisticsは、標準的なUnityEngine.UIコンポーネントを使用しているため、スクリーンオーバーレイや、3D空間のオブジェクトにアタッチして統計情報を表示することができます。
基本的な使用方法
Fusion Statisticsを開始するには、
- 起動前に
NetworkRunnerオブジェクトにFusionStatisticsコンポーネントを追加する - 起動後に
NetworkRunnerオブジェクトにFusionStatisticsコンポーネントを追加して、エディター上の「Setup Statistics Panel」ボタンを押す(コードから同名のメソッドを呼び出すことも可能です)
NetworkRunnerが初期化されると(または、エディター上のボタンから手動でセットアップすると)、分析したい統計チャートのCanvasがインスタンス化されます。エディター上のドロップダウンから計測対象を選択すると、その対象を追跡するチャートが自動的に追加されます。また、統計パネルの左上のドロップダウンから計測対象を切り替えることもできます。
備考: FusionStatisticsコンポーネントは、接続したNetworkRunnerからすべての統計データを収集するため、NetworkRunnerと同じゲームオブジェクトに追加する必要があります。
統計パネルのボタンと便利機能
パネルの上部/下部のバーや背景のエリアをドラッグすると、スクリーン上の統計パネルを動かすことができます。
スクリーンの見えるエリア外になると、パネルは元の位置に戻ります。
- 統計パネルを隠して/折りたんで、上部ヘッダーのみを残します。折りたたまれると、統計データは収集されず、チャートは一掃されます。
- パネル上の統計チャートの表示を切り替えるドロップダウンです。追加済みの計測対象を選択すると削除できます。
- 接続している
NetworkRunnerのローカルプレイヤーのPlayerRefが表示されるラベルです。マルチピアモードを使用中に、統計パネルを区別するのに便利です。 - 統計パネルを破棄するボタンです。
NetworkRunnerオブジェクトのFusionStatisticsコンポーネント自体は生きていますので、SetupStatisticsPanelのメソッドを呼び出すかエディター上のボタンを押すことで復元できます。 - 設定パネルを開きます。
- 統計パネルを元の位置に戻します。
統計グラフ
上の図は、パネル上に表示される計測対象の見え方です。グラフは(バッファ中の)ピーク値・平均値・最新値などの有益な情報を含みます。
それぞれの計測対象のグラフは、アローボタンを使用して折りたたむことができます。
しきい値(Threshold)
値に応じてチャートの色や、左側のラベルを変更することができます。計測対象のしきい値は3つ定義できて、コードのFusionStatistics.SetStatsCustomConfig()メソッド、またはエディター上のFusionStatisticsコンポーネントから、新しいルールを追加してください。
- Threshold1未満の値は、緑です
- Threshold1とThreshold2の間の値は、黄色です
- Threshold2とThreshold3の間の値は、オレンジです
- Threshold3より大きい値は、赤です
ネットワークオブジェクトのチャート
NetworkObjectStatisticsコンポーネントを追加すると、特定のNetworkObjectの統計情報を監視できます。統計パネルには、NetworkObject用の青色のヘッダーが表示されます。
「Toggle Stats」ドロップダウンで監視したい計測対象の追加/削除、アローボタンでNetworkObjectグラフ全体を折りたたむことができます。
World Anchor
主にVRなど、統計グラフをワールド座標に置く必要があるようなシナリオでは、設定パネルから「Use World Anchor」を有効にして、選択したWorld Anchor設定を調整することができます。
StatisticsWorldAnchorコンポーネントを任意のGameObjectに追加すると、World Anchorの候補になります。そのGameObject名をクリックすると、そのオブジェクトを親として統計パネルが移動します。
統計パネルのCanvasはGameObjectの位置に追従します。オブジェクトが破棄されると、Canvasは元の位置に戻ります。「Use World Anchor」を無効にすると、Canvasは再びオーバーレイモードになります。