ジェイのブログ

Unity,UnrealEngine,ゲーム制作,プログラミング,日記も書きます!

UE5でBehavior Treeはじめました

こんにちは!ジェイです。

現在制作中のTPSオンラインゲームの敵AIを作るためにBehaviorTreeの使い方を学んでいく制作過程で、注意するところを残すようにします。

 

最初に以下のBehaviorTreeのチュートリアルをやってみて基本を覚えました。

www.youtube.com

UE5のビヘイビアツリーは以下の要素で構成されています。

  • ブラックボード
  • ルートノード
  • コンポジット
  • サービス
  • デコレーター
  • タスク

以上の項目をこの動画ですべて学ぶことができます。実行結果は以下

これが終わったのでさっそく同じ人の動画のShooter AIを始めました!

www.youtube.com

しかし、UE4で説明されているせいか、いくつか違う点があって苦労しました💦

以下は相手の方向を向くだけのタスクです。最初はSetFocusのNewFocusに繋がっていたノードはGetPlayerControllerでした。

だけど、なぜかLocationだけ取得できてなかったので、以下の様にしたらうまく動作するようになりました。

まずはTargetはブラックボードで変数を作る(KeyTypeのBaseClassをActorに変更すること)

以下の様にAIControllerで設定して(KeyNameをブラッグボードで作った変数名と同じにすること)

ビヘイビアツリーを開き変数名を指定します。これによりブラックボードにある変数から、タスクに渡して使うことができます。

以上の修正を加えることで、ShooterAIの動画の続きが問題なくできそうです。