Unreal Editor for Fortnite (UEFN) では、プロジェクトのパフォーマンスを把握し改善するために必要なツールを提供しています。フォートナイトは多くのプラットフォームで実行されるため、プロジェクト特有のメトリクスを知っておくことで、UEFN で必要な調整を行いスムーズなパフォーマンスを保証できます。
大まかなワークフローを確認するには サンプリング セッションを開始する をご覧ください。空間プロファイラ ツールの詳細を知るにはこのまま読み進めてください。
役に立つ用語
空間メトリクス は、ワールド内で 3D 空間位置を使用するプロパティについて測定できます。一定数の空間値から成り、各空間値は、測定値に相当する数値と関連座標を持ちます。この座標は、ワールド内で値が測定された空間位置を示します。
空間値 とは、任意の 3D 位置における空間メトリクスの具体的な測定値です。空間値は 3 つの座標値 (X、Y、Z) と測定結果の値を持ちます。空間値をまとめたものが空間メトリクス サンプルです。
空間メトリクス サンプル は、定義された期間にわたる具体的な空間メトリクス測定値です。測定された複数の空間値と、それに伴う 1 つの結果が含まれます。サンプルには、空間値を内包する 3D 境界、使用する距離精度、取得した日付など、他の関連データも含まれます。
空間メトリクス プロパティ は、空間メトリクス サンプルに含まれるすべての情報を表します。
プロパティ | 定義 |
---|---|
Metric ID (メトリクス ID) | 一意のメトリクス識別子を定義します。これはメトリクス型と直接結び付いています。 |
Min Value (最小値) | 記録された空間値のうちの最小値。 |
Max Value (最大値) | 記録された空間値のうちの最大値。 |
Threshold Value (しきい値) | そのメトリクスで望ましいとする最大値。 |
Spatial Precision (空間精度) | ワールド単位に使用する 3D セル サイズ。含まれる値はすべて同じ空間値に寄与します。通常は最大値を選択します。 |
Unit (単位) | 記録値に使用する単位。たとえば、時間にはミリ秒、距離にはメートルなどです。 |
空間プロファイラ は、空間メトリクスの 2D ヒートマップを提供するビジュアライゼーション ウィジェットです。ここで空間メトリクス サンプルを記録、保存、ロードすることもできます。空間メトリクス更新関数からデータを収集し、定期的にデータを更新できます。
空間プロファイラでは現在 7 つの空間メトリクスに対応しています。
メトリクス | 定義 | 単位 |
---|---|---|
Draw Call Count (ドロー コール数) | 1 つのフレームのドロー コール数をトラッキングします | Draw calls (ドロー コール) |
Primitive Count (プリミティブ数) | 1 つのフレームにレンダリングされるプリミティブ数をトラッキングします。プリミティブは、3D オブジェクトのレンダリングに使用される基本的な描画コンポーネントです。 | Primitives (プリミティブ) |
Game Update Time (ゲーム更新時間) | プラットフォームのゲーム スレッドをトラッキングし、1 つのフレームの更新にかかる時間を測定します。 | マイクロ秒 |
Render Time (レンダリング時間) | プラットフォームのレンダリング スレッドをトラッキングし、1 つのフレームの更新にかかる時間を測定します。 | マイクロ秒 |
Frame Time (フレーム時間) | 1 つのフレームの更新にかかる時間をトラッキングします。Game Update Time (ゲーム更新時間) と Render Time (レンダリング時間) の両方がこのメトリクスに含まれます。 | マイクロ秒 |
Actor Count (アクタ カウント) | ワールド内でストリーミング イベントを構成するアクタ数をトラッキングします。World Partition ストリーミングが有効になっているワールドで特に便利です。レベル内のアクタ数にむらがあると、ゲームプレイの重要なエリアが強調表示されます。ただし、アクタ カウントを大きくしすぎると、小さなアクタが多すぎて、体験の潜在的なストレス ポイントにもなります。 このメトリクスをゲーム更新時間と一緒に評価してゲーム ロジックの複雑さを評価したり、レンダリング時間と一緒に評価してレンダリングの複雑さを評価したりできます。 |
Actors (アクタ) |
Memory Usage (メモリ使用量) | プラットフォームの実行可能なメモリ使用量をトラッキングします。体験を実行する各プラットフォームのメモリ要件を評価するときに使用します。 | バイト |
空間プロファイラ UI
空間プロファイラはドッキングもできるスタンドアローン ウィジェットで、4 つのエリアに分かれています。
-
コントロール ツールバー
-
メトリクス ブラウザ
-
ヒートマップ ビュー
-
概要セクション
コントロール ツールバー
このエリアには、空間プロファイラの操作に使用する主なインタラクティブ エレメントが含まれます。それらを使用して空間メトリクス サンプルの作成、可視化、保存ができます。キャプチャーしたサンプルを使用して生成したデータにより、UEFN 体験を向上できます。
コントロール ツールバーには次のエレメントが含まれます。
-
メトリクス セレクタ: このドロップダウンで、UEFN プロジェクトでキャプチャーしたいメトリクスを選択できます。選択したメトリクスはすべて、メトリクス バーに自動的に追加されます。選択を解除すると削除されます。メトリクス セレクタは有効な UEFN セッションへの接続を要求しますが、これは空間プロファイラで利用可能なメトリクスをリストアップするためです。
-
サンプリングを開始: ユーザーが選択したメトリクス一式のキャプチャーを開始するボタンです。メトリクスをサンプリングするには UEFN セッションに接続する必要があります。サンプリング中は、ヒートマップのビューの中心には自動的にそのセッションのプレイヤー ポーン位置が来て、キャプチャーする空間値に照準を合わせます。
-
サンプリングを停止: 選択したメトリクスのキャプチャーを停止するボタンです。
-
サンプル ファイルを開く: 既存のサンプル ファイル (複数のメトリクスが含まれる場合があります) を開くボタンです。ファイルを開くと、すべてのロード済みメトリクスがメトリクス ブラウザにロードされ、そのデータにアクセスできるようになります。
-
サンプルをファイルに保存: アクティブなプロファイリング セッションを保存するボタンです。ファイルに保存するためのダイアログが開きます。サンプルのタイムスタンプが付いたファイル名がデフォルトで提案されます。空間プロファイラが現在のサンプリング セッションのすべてのメトリクスを保存先のファイルに保存します。
-
UEFN セッション セレクタ: セッションには複数のクライアントを接続できます。セッション セレクタでは、接続しメトリクスを実行するセッションを選択します。セッションを起動すると、空間プロファイラが自動的にクライアントに接続し、そのセッションに接続されたユーザーの名前でセッション セレクタを更新します。
-
Settings (設定): 空間プロファイラの環境設定を表示するボタンです。ウィジェット エレメントの一部を表示/非表示にできます。
メトリクス ブラウザ
このエリアでは、サンプリングのために選択したメトリクスや、保存ファイルから開いたメトリクスを確認できます。メトリクス ブラウザは追加された各メトリクス用のボタンを作成します。
メトリクスをクリックして選択すると、そのメトリクスのデータと統計情報でヒートマップ ビューが更新され、そのメトリクスの合計統計値が表示されます。
ヒートマップ ビュー
ヒートマップ ビューは、選択したメトリクスのヒートマップの上に、サンプル内のすべての空間値を重ねて表示します。各空間値はサンプルのデータに応じて色付けされます。各メトリクスのカットオフ値をすばやく設定して目的の値範囲を定義できます。
上部の 4 つのボタンを使うと、ヒートマップに手を加えてカスタマイズできます。
-
ハンバーガー メニュー
-
Show Options (オプションを表示)
-
Focus Player (プレイヤーにフォーカス)
-
Focus Bounds (境界にフォーカス)
ヒートマップ ビュー内をダブルクリックすると、プロジェクト内の該当箇所にエディタ カメラが配置されます。セッションが起動している場合、ダブルクリックした箇所にプレイヤー ポーンがテレポートします。
ハンバーガー メニュー
ヒートマップ ビジュアライゼーション オプションにアクセスできます。次の 2 つのセクションがあります。
-
Heat Colors (ヒート カラー)
-
Metric Options (メトリクス オプション)
-
Alpha Settings (アルファ設定)
これらのセクションでは、各フィールドの右にあるリセット矢印ボタンをクリックすると、設定をリセットできます。
Heat Colors は、色覚多様性に配慮した読み取りやすいカラー パレットを提供します。キーとなる色を定義して、ヒートマップの色の範囲をカスタマイズすることができます。
値 | 定義 |
---|---|
Minimum (最小値) | ヒートマップの色範囲の低スペクトル部分を表し、メトリクス サンプルの最小値にマッピングします。 |
Mid Point (中間点) | ヒートマップの色範囲で最小値としきい値の中間を表します。しきい値を指定していない場合は、サンプルの空間値の中央値にマッピングされます。 |
Threshold (しきい値) | スペクトルの上限を表します。しきい値を定義しても、ヒートマップの色範囲ではそれを超える値も考慮されます。 |
Maximum (最大値) | 最大空間値を表します。表示するメトリクスにしきい値を定義したときのみ表示されます。しきい値を指定していても、ヒートマップには、白から最大値に設定された色まで、しきい値を超える範囲も追加されます。 |
Bounds (境界) | サンプル内の値をすべて内包するバウンディング ボックスを表示するためのカラーです。Show Options (オプションを表示) メニューでサンプルの境界の表示/非表示を切り替えることができます。 |
[Metric Settings (メトリクスの設定)] は、メトリクスの視覚化に影響するすべての設定をグループ化します。
-
Threshold (しきい値):しきい値は、通常のゲームプレイで予想される最大値を定義します。
-
Display Unit (表示単位):指定すると、メトリクスで優先される視覚化単位が定義されます。指定しないままにすると、ツールによって各メトリクスに最適な単位が選択されます。この表示単位は、ヒートマップ ビューおよび概要ビューに使用される単位に影響します。
-
Cell Method (セルの方式):この設定は、各セルの境界範囲内の値のリストから各 2D セル値を計算する際にツールで使用する減少方式を指定します。利用可能な減少方式は、次のとおりです。
- Median Value (中央値) (デフォルト)
- Min Value (最小値)
- Max Value (最大値)
- Average Value (平均値)
[Alpha Settings (アルファ設定)] は求められる範囲の外の空間値を表示します。空間値の密度が高い部分があるメトリクス サンプルを確認するときに、メトリクスを細かい粒度で読み取れるため、これらのオプションを調整すると便利です。
-
Min Alpha (最小アルファ): 空間値に与える開始値。サンプル内のすべての空間値のアルファ値で、各空間値に応じて、最小値 (最小アルファ) から最大値またはしきい値 (最大アルファ) まで増加します。最小アルファ値を低くすることで、低い空間値が見えにくくなり、最大値またはしきい値に近い空間値が目立つようになります。
-
Max Alpha (最小アルファ): 空間値に与える最大開始値。
-
Alpha Exp (アルファ Exp): アルファ値がサンプルの空間値範囲の最小値から最大値まで、どのくらいすばやく移行するかを示す値です。
-
Mid Point (中間点): サンプルの正規化値範囲にある値で、中間値の色は範囲の中間を示します。デフォルトでは 0.5 が正規化値範囲の中央値です。
軸
左下に表示される 3D 軸を表示/非表示にできます。この軸はヒートマップ ビューの上下の向きに対応しています。この向きは、エディタではなくクライアントのミニマップ ビューと同じです。
グリッド
2D ヒートマップ グリッドを表示/非表示にできます。グリッドは、サンプル値の範囲で可視空間を細分化できます。
ヒートマップ レジェンド
ヒートマップ ビューの右下にあるヒートマップの色範囲の凡例を表示/非表示にできます。
境界
サンプル内のすべての空間値から成る 2D バウンディング ボックスを表示/非表示にできます。
Focus Player (プレイヤーにフォーカス)
セッション接続中のプレイヤー ポーン周辺をビューの中心に据えます。セッションが接続されている必要があります。
Focus Bounds (境界にフォーカス)
2D バウンディング ボックス周辺をヒートマップ ビューの中心に据えます。
コンテキストに応じたメニュー
ヒートマップ ビュー エリアを右クリックすると、コンテキストに応じたメニューにアクセスできます。このメニューには、次のオプションがあります。
-
Teleport (テレポート)
-
Default View (デフォルト ビュー)
-
Focus Bounds (境界にフォーカス)
-
フォーカス位置のトラッキング
Teleport
ヒートマップ ビュー上で右クリックした箇所にカメラ ビューとプレイヤー ポーンを移動させます。プレイヤー ポーンをテレポートさせるには、セッションが接続されている必要があります。セッションが接続されていないと、ヒートマップ ビュー内の任意の箇所をダブルクリックした場合と同じで、プロジェクト内の該当位置にエディタ カメラが配置されます。
Default View
ヒートマップ ビューのフォーカス値とズーム値をデフォルト設定に戻します。
概要セクション
概要セクションには、リアルタイムで収集されるデータの視覚化に役立つ ヒストグラム が含まれています。これにより、ヒストグラム内で確認したピーク値とレベル全体の実行を関連付けることができます。
ハンバーガー メニューの値を調整すると、ヒストグラムに表示されるさまざまなカットオフ ポイントが変更されます。
右側には、選択したメトリクス サンプルの統計情報の概要が表示されます。サンプルの空間値から次の統計情報をコンパイルして表示します。
統計情報 | 定義 |
---|---|
Number of Values (値の数) | サンプルに含まれる空間値の総数。 |
Above Threshold (しきい値を超過) | しきい値 (定義されている場合) を越えている空間値の数。 |
Min Value (最小値) | 最小空間値。 |
Max Value (最大値) | 最大空間値。 |
Average Value (平均値) | 空間値の平均値。 |
Median Value (中央値) | 空間値の中央値。 |
サンプリング セッションを開始する
このセクションでは、空間プロファイラ ツールを使用してサンプリング セッションを開始する方法と、空間メトリクス サンプルを保存する方法を説明します。
-
[Tools (ツール)] > [Spatial Metrics (空間メトリクス)] > [Spatial Profiler (空間プロファイラ)] を選択します。空間プロファイラ ウィジェットが開きます。
-
ヒートマップの左上の ハンバーガー メニュー をクリックします。
-
このメニューでサンプリング パラメータを設定します。詳細については、ヒートマップ ビュー セクションを参照してください。
-
[Launch Session (セッションを開始)] をクリックし、フォートナイト クライアントを通じてゲームを開始します。
-
(任意) クライアントがロードされたら、[End Game (ゲームを終了)] を押して 編集モード に入ります。ポーンがレベルの中をすばやくフライスルーできるようになります。
-
エディタに戻り、[Metrics (メトリクス)] ドロップダウンをクリックして、記録中に測定したいメトリクスを選択します。
-
記録 を押します。
-
ゲーム セッションではポーンを使って島の中を動き回り、目的に応じてゲームをプレイします。フライスルーする中で、空間プロファイラ ヒートマップが更新されます。
-
停止 ボタンを押してサンプリング セッションを終了します。
-
空間プロファイラ ウィジェットの 保存 アイコンを押し、プロジェクトのローカル ディレクトリ内の任意の位置を選択します。プロファイラが、プロジェクトに保存されたサンプルへの読み取りアクセスを提供します。サンプルはメトリクスの型とタイムスタンプ別に整理されています。
-
開く アイコンをクリックすると、以前のプロジェクト サンプルの記録にアクセスできます。