Aiのランダムに行動する処理について

こんにちは

簡単なAIの処理についてなんですが

AIをidle(通常状態)はランダムに移動してplayerが500m以内に入ったらついてくるようにしたいです

左のmove to random pointタスクがランダムの移動処理BP(写真1)

BTS_VisionCheckが500m以内かどうかの処理(サービス、写真2)

ブラックボード用列挙型(写真3)

変数
AIStateー

Move TargetービヘイビアツリーのブラックボードでTrueにするとmove toを実行

MAXDISTープレーヤーを追いかけ始める距離

写真1のget all actor にはRecastNavmeshをいれてナビメッシュで移動の計算をしています

2つ指摘します

  • 要件を整理してください。箇条書きで構いません
  • Serviceの内容が示されていませんが、どういった処理をしていますか?

なお、見たところ原因はTaskではなくService側にあるように思います

返信遅くなりました

修正させていただきましたのでよろしくお願いしますm

また何か情報が少ないところがありましたらごしきてきください

Service内にIsValidノードが一つ入っていますが、これのオブジェクト入力がAIControllerになっています。
このケースではAIControllerが途中で失われることはないので、常にAIStateはMoveTargetに設定されることになりますね
(追跡対象のあるなしにかかわらず)
この部分がAIが立ち止まる原因でしょう

本来はFindTargetの出力をIsValidに入れるのが正しい処理であると考えます
ご確認ください

FindTargetの出力をIsValidに入れたところ正常に動作しました

助かりました

ありがとうございますm