ブループリントの変更
次にプロジェクト内にある各ブループリントファイルに変更を加えました。
新規に作成・変更を加える必要があるのは以下のファイルです。
BP_EnemyBase
BP_DebugCamera
BP_DebugMenuManager
BP_DebugCommandPositionView
BP_DebugCommandOpenDoor
BP_EnemyBase
敵死亡時にツールにイベント発生を通知する処理の追加
通しプレイツールで敵を倒したときのログを残せるように、Dead
イベントの末尾にSendAsyncMessage
関数を追加します。
備考
EnenyKill
というイベント名で、倒した敵キャラクターの名前を通知します。
BP_DebugCamera
ON/OFF 検知用の変数の追加
ツールがデバッグカメラ機能を利用する際、現在の状態が ON/OFF のどちらであるかを判定できる必要があります。
Open
/Close
のイベントで状態が変わる変数を用意します。
この作業で追加する変数は以下の通りです。
変数名 | 型 | デフォルト値 |
---|---|---|
DebugCameraMode | bool | False |
XYZ 軸の平行移動用の操作の拡張
マップスキャンを精度良く安定して行うために、以下のようにデバッグカメラの機能を拡張します。
ボタン | 処理 |
---|---|
D-pad Up | Y 方向に + |
D-pad Down | Y 方向に - |
D-pad Left | X 方向に - |
D-pad Rigtht | X 方向に+ |
Left Shoulder | Z 方向に + |
Right Shoulder | Z 方向に - |
Special Left(Back) | カメラ位置にプレイヤーキャラクターをワープ |
備考
各ボタンは一回押すと一回動く仕様です。押し続けると操作を繰り返すような処理は行っていません。
この作業で追加する変数は以下の通りです。
変数名 | 型 | デフォルト値 |
---|---|---|
MRK_SpeedRate | float | 0.01 |
カメラ位置にプレイヤーの位置を変更する機能の追加
コリジョンチェックやアイテム回収において、任意の位置にプレイヤーを移動させるため、 Back ボタンでプレイヤーの位置をカメラ位置にワープできるようにします。
ボタン | 処理 |
---|---|
Special Left(Back) | カメラ位置にプレイヤーキャラクターをワープ |
BP_DebugMenuManager
デバッグメニューの項目追加
自動テストを実行するにあたり、以下の 2 つのブループリントを作成しています。 (詳細はコンテンツデータの作成・変更を確認ください)
BP_DebugCommandPositionView
(位置情報の表示切り替え)BP_DebugCommandOpenDoor
(全ての扉の開放)
追加実装した項目をデバッグメニューに追加します。
CreateMainMenu
イベントに繋がっているMakeArray
のピンを 2 つ追加- 追加した要素に以下を設定
BP_DebugCommandPositionView
BP_DebugCommandOpenDoor