Arbor3のBehaviourTreeでシミュレーションゲームの敵反撃行動を実装
UnityAsset の Arbor3 を使うと、StateMachineやBehaviourTreeをノードベースで割と簡単に実装できる。
https://arbor.caitsithware.com/
今回、個人的に制作予定のシミュレーションゲームの敵行動AIの一部をBehaviourTreeで試しに実装した。
(BehaviourTreeの各要素の説明はこちらの資料がわかりやすかった) niconare.nicovideo.jp
こちらの資料を参考にしつつ、今回実装した敵の挙動は下記の通り。
状況:プレイヤーに攻撃をされた時の敵の行動
- 反撃可能かつ、プレイヤーの攻撃をくらっても死ななそうなら反撃を選択する
- 反撃しない場合、防御をして死ななそうならば防御を選択する
- 反撃も防御もしない場合、回避を選択する
この挙動をBehaviourTreeで表すと、Rootの下にSelectorを1つ置いて反撃・防御・回避のどれか1つの選択を決定する。 反撃と防御のノードの中に、それぞれSequencerを1つ用意して条件をチェックする。
これで期待通りの動きをしてくれた。
今後はもうちょっと複雑な動きもBehaviourTreeで作っていくl。