• 追加された行はこの色です。
  • 削除された行はこの色です。
#contents

&ref(c88-ai_all.png,,20%);

* 概要 [#q03f8336]
- 敵の挙動。ビヘイビアツリーで構築。
- EQS使おうとしたけど、一回試して上手く動かなかったので断念
- マスター予定日当日に調整してたのもあって、途中からかなり雑に。

* Blackboard [#a33f61f2]

* Service [#pb971504]
** HandgunCheckService、MissileCheckService [#sfdfd66d]
- ハンドガン、ミサイルで撃たれているかをチェックするサービス。
+ 「Get All Actors with Interface」等でリストを全部取得。
+ actorの所属グループを観て敵が発射したものを収集
+ 一番近い弾を避ける対象の弾としてBlackboardに保存
-- 弾と自身の射線上に障害物(背景)がある場合は除外する

** AttackShortService、AttackLongService [#n7e1b36b]
- 近距離、遠距離用攻撃サービス
+ 「Event Receive Activation」でアクティブになったタイミングで、短距離、遠距離武器の発射ボタンを押し始める
+ 「Event Receive Deactivation」でサービスを抜けるタイミングで、短距離、遠距離武器の発射ボタンを離す

** BoostUseService [#b32b30ef]
- ブーストボタン押しサービス
+ 「Event Receive Activation」でアクティブになったタイミングで、ブーストボタンを押す
+ 「Event Receive Deactivation」でサービスを抜けるタイミングで、ブーストボタンを離す
+ 「Event Recieve Tick」でブーストゲージが指定以下になったらブーストボタンを離す。一定以上回復したら再度押す。

* Task [#u8515aee]


* 近距離 [#q74ea659]
** 仕様 [#r1b237f0]
- 近距離範囲内
-- ハンドガンで撃たれているかをチェックする
-- ミサイルで撃たれているかをチェックする
-- 近距離用の攻撃セットを実行
-- 移動行動
--- ミサイルで撃たれていればミサイル用の回避行動をとる。+ブースト使用。
--- ハンドガンで撃たれていればハンドガン用の回避行動をとる。+ブースト使用。
--- 相手を狙いつつ現状維持行動
--- 相手に近づく

** ビヘイビアツリー [#c30020d3]
&ref(c88-ai_short_01.png);
- Blackboardの「Is Short Length」(近距離範囲内か)がtrueなら入る
- サービスとして近距離範囲内では常時動かしたい処理を回す。
-- 「HandgunCheckService」ハンドガンで撃たれているかチェック
-- 「MissileCheckService」ミサイルで撃たれているかチェック
-- 「AttackShortService」近距離用の攻撃

&ref(c88-ai_short_02.png,,60%);
- 優先順位として、
++ ダメージの大きいミサイル回避
++ ハンドガン回避
++ ここに来ると狙われていないので適当な平行移動
++ 左右に回避したら敵を狙えなければMoveToで近づく
++ 最後ここまで来てスルーすると近距離行動以外のノードに行ってしまうので、ここで終わらせる。強制的にSuccessを返す。


* 遠距離 [#q74ea659]
- 近距離とほぼ一緒。近距離用の動作が遠距離になったり、パラメーターが一部違うだけ。
&ref(c88-ai_long_01.png);
&ref(c88-ai_long_02.png,,60%);

* 難易度調整 [#e39052c4]



    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS