AIがプレイヤーを攻撃するようにする。
1. サービスの作成
ブラックボード[BB_SamuraiTaisho]にBool型のキー[PlayerIsMeleeRange]を追加する。
そして、ビヘイビアツリー[BT_SamuraiTaisho]の[ツールバー]>[New Service]から新しいサービスを追加し、[IsPlayerInRange]と名付ける。
サービスとは、AIのセンサーのように状況を検知するもので、定期的に何度も実行される。デコレーターで判定に使うブラックボードの値を更新する。
[IsPlayerInRange]でFloat型の変数[MeleeRange]、Blackboard Key型の変数[BB_IsInRange]を作成する。
コンパイルし[MeleeRange]の初期値を「500」に設定する。
MeleeRangeは攻撃の間合い、BB_IsInRangeはその間合いにプレイヤーが入ったかどうかを表す。
そして下のようにブループリントを組む。
それが出来たらビヘイビアツリー[BT_SamuraiTaisho]を開き、[Chase Player]ノードを右クリックして[Add Service]>[Is Player in Range]をクリックしてサービス[IsPlayerInRange]を付ける。
[IsPlayerInRange]の[BB is in Rnage]を「PlayerIsMeleeRange」に設定する。
2. 攻撃用のタスクを作成する
まず敵キャラのブループリント[Pawn_SamuraiTaisho]にBool型の変数[KiriWaza]を作成しておく。
そしてビヘイビアツリー[BT_SamuraiTaisho]から新しいタスク[MeleeAttack]を作成する。
[MeleeAttack]を開き、下のようにブループリントを組む。
3. アニメーションBPの設定
敵キャラのアニメージョンBP[AnimBP_SamuraiTaisho]を開き、以下のようにブループリントを組む。
4. ビヘイビアツリー の編集
そしてビヘイビアツリーを編集する。
[Simple Parallel]ノードは[Finish Mode]を「Delayed」にする。