ビヘイビアツリーによるAIの制御に関する質問

お世話になっております。
質問させていただきます。

味方キャラクターをAIで操作しています。TargetActorにEnemyというタグを挿入しています。

現在の挙動は、プレイヤーが1体目の敵に近づき攻撃を始めます。攻撃し続けHPが0になると敵はDestoryActorで消滅しますが、味方キャラクターはそのままの場所で攻撃し続けてしまいます。BrackboradのキーはTargetActorがEnemy、inMeleeAttackRangeはTrueを返し続けています。

求めている動作としては基本的にタワーに侵攻し、その途中でAIPerception(視野)で敵を認知したら近づいて攻撃します。攻撃後、視野内に敵がいれば同じ動作、いなければ再度タワーに侵攻します。

お手数をおかけしますがアドバイスをお願いします。

参考




似たような質問を見つけましたがまだ解決には至っていません。
色々試してみます。

まず条件として

  • TargetActorEnemy が含まれていたら

とありますが、見たところ Enemy を設定しているところはありますが、それ以外の値を設定しているところが見当たりません
つまり、一度敵が視界に入れば二度と通常状態に戻ることはありません

何らかの方法で攻撃の条件を満たさないようにする必要があります
具体的には、 TargetActorEnemy 以外の値を入れる必要がありますね

T_Sumisakiさん、コメントありがとうございます。

BTTaskChaseTarget


今回の問題ですが、こちらのように組み、敵とタワーにEnemyのTagを入れることで解決できました。さらにMinDistanceを初期値(=99999等の大きい数字)に変更することで

しかし、ご指摘いただいた通り、TargetActorにEnemyが挿入された時に戻すことができません。

AIController_Ally


こちらでうまくいくかなと思いましたが、うまくいきませんでした。

何か方法はございますでしょうか。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.