#contents &ref(c88-ai_all.png,,20%); * 概要 [#q03f8336] - 敵の挙動。ビヘイビアツリーで構築。 - EQS使おうとしたけど、一回試して上手く動かなかったので断念 - マスター予定日当日に調整してたのもあって、途中からかなり雑に。 * Blackboard [#a33f61f2] * Service [#pb971504] * 遠距離 [#q74ea659] ** 仕様 [#r1b237f0] - 遠距離範囲内 -- ハンドガンで撃たれているかをチェックする -- ミサイルで撃たれているかをチェックする -- 遠距離用の攻撃セットを実行 -- 移動行動 --- ミサイルで撃たれていればミサイル用の回避行動をとる --- ハンドガンで撃たれていればハンドガン用の回避行動をとる --- 現状維持行動 --- 相手に近づく ** ビヘイビアツリー [#c30020d3] &ref(c88-ai_long_01.png); - Blackboardの「Is Long Length」(遠距離範囲内か)がtrueなら入る - サービスとして遠距離範囲内では常時動かしたい処理を回す。 -- 「HandgunCheckService」ハンドガンで撃たれているかチェック -- 「MissileCheckService」ミサイルで撃たれているかチェック -- 「AttackLongService」遠距離用の攻撃 &ref(c88-ai_long_02.png,,60%); - 優先順位として、 ++ ダメージの大きいミサイル回避 ++ ハンドガン回避 ++ ここに来ると狙われていないので適当な平行移動 ++ 左右に回避したら敵を狙えなければMoveToで近づく ++ 最後ここまで来てスルーすると遠距離行動以外のノードに行ってしまうので、ここで終わらせる。強制的にSuccessを返す。 |