後処理
概要
テスト結果の確認、及び結果確認のために必要な準備を行います。
対応手順
1. ビューワーの実行に必要なデータのコピー
各マップのテスト結果ファイル
{マップ ID}__reach_log.json
をPython/data/{ゲーム ID}_{テスト ID}/{マップ ID}
以下にコピーし、reach_log.json
にリネームします。最終的に以下のようなファイル構成になっていることを確認してください。
Python/
└ 既存コード色々
…
└ WindowsNoEditor/
└ data/
└ {ゲーム ID}_{テスト ID}/
└ {マップA}/
└ collision_completed.json - コリジョンファイル
└ is_close.npy - スキャンデータを利用した探索データ
└ reach_log.json - テスト結果データ (NEW!!)
└ XXXX.sav - テスト開始時に読み込むセーブデータ
└ ???.??? - 上記セーブデータに付随するファイル (該当するものが存在する場合)
└ {マップB}/
└ …
└ _map_list.yaml - スキャンデータを使用するためのプロパティファイル
2. テスト結果データの確認
Anaconda Prompt で以下のコマンドを実行し、ビューワーツールを起動します。
$ cd Python
$ conda activate collisionchecker
$ python result_viewer.pyゲームが起動すると、メニュー画面の操作が自動で行われます。ゲーム画面に遷移するまでお待ちください。
ゲーム画面に遷移した後、もしデバッグ機能でマップ遷移コリジョンを無効化するオプションが存在するならば、これを無効化してください。
備考Unreal Engine の実装との兼ね合いから、別のマップに遷移するとゲーム内に描画した目標点などが一旦消えてしまいます。ビューワーツールで各種点表示を一度 OFF にし、再度 ON にすることで再描画させることができますが、それが面倒な方は無効化設定することを推奨します。また、別マップに遷移してもビューワーツール起動時に選択したマップ以外での結果表示はできません。
以下の手順でテスト結果の確認を行います。 なお、ビューワーツールの使い方についてはマニュアルを参照してください。
- ゲーム画面、及び GUI のマップ画面を確認し、通常のプレーで到達できない箇所にある接触点 / 落下点 / 到達点 / 怪しい箇所を探します。ゲーム画面で確認する場合は、デバッグ移動モードで動き回ると確認しやすいです。
- 見つけた箇所から到達点と移動経路を逆方向に遡ります。
- その始点が通常プレーで到達できない箇所に存在する場合、またはコリジョンを突き抜ける形で移動経路が存在しているものの、その経路付近に手動プレーでコリジョン抜けできる箇所が存在しない場合はテストプロセスのどこかに問題があると考えられ、その時々に応じた対応が必要となります。
備考到達点の記録アルゴリズムは、テスト時の移動経路をそのまま記録するものではないため、稀にコリジョン抜け箇所と若干ずれた箇所に突き抜けた移動経路が存在することがあります。
手順 4 の iii で説明したような異常箇所が見つからなければ、この工程は完了となります。