unity Behavior Designer使い方part8 自動探索

どうもききです。
前回の記事に引き続きBehavior Designerの使い方を解説していきたいと思います。
今回はAIの自動探索について解説したいと思います。
AIの基本的な行動パターンとしてターゲットが視界に入ったら追いかける。
ここまではいいですね。
ここからさらに人間に近い思考パターンを加える必要があります。
人間に近い思考パターンとはつまり頭が悪いAIということです。
人間は機械に比べて頭悪いと感じますが逆に頭悪ければ悪いほどAIとしての性能が高いということです。
何が言いたいかというとターゲットが視界から消えるなどのハプニング起こった場合でも千里眼状態では不味いということです。

今回はターゲットが視界から消えた後自動探索するツリーを紹介したいと思います。

このツリーではターゲットを見失ったときターゲットを最後に見た最終地点に設定しその最終地点まで移動(seekタスク)します。
最終地点まで移動したらwanderタスクでターゲットが視界に入るまで辺りを放浪します。
パラレルセレクターは全ての子を実行しどれかがsuccess(成功)を返したら処理を完了します。親タスクに成功が返ることはAIの停止(完了)を意味します。

Until Successは条件付きタスクが成功を返すまで実行するタスク。

can see objectはターゲットが視界に入ったら成功を返すのでターゲットが視界に入るまで永続します。

次に右側ですがseekが条件付きタスクになってます。

このタスクは本来ターゲットを追跡するタスクですがターゲットの位置まで移動すると成功を返します。(今回の場合はターゲットを最後に見た最終地点ですが)

成功を返した場合wanderで辺りを放浪します。

wanderは永続タスクで成功を返さないのでターゲットが視界に入るまでこの処理は実行され続けることになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)