2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UE4のAIControllerクラスを触ってみた

Posted at

はじめに

現在制作しているゲームにAI(?)のような機能が必要になってきたので、UE4の機能として提供されているAIControllerについて調べてみたのでまとめ

AIControllerを使用するにあたって必要なもの

AIController

  • 後述するBlackBoardとBehaviorTreeを関連付け、パラメータのセット等をおこなうクラス
  • Get/Set Value as (型)ノードを使用してBlackBoardが保持する変数の値を取得・設定する
    • BlackBoardComponentが所有するノード
    • Key NameにBlackBoardが保持するKeyの文字列を指定する

BlackBoard

  • AIの行動基準となるパラメータを保持するクラス
  • Keyとして名前と型を持つ

BehaviorTree

  • AIの行動ロジックを組むクラス
  • 関連付けされたBlackBoardからパメータの参照等をおこなう

BTTTaskBluePrintBase派生のクラスたち(自作タスク)

  • AIへの行動モジュールを自作したもの
  • BlackBoardKeySelector型を経由して値を取得・設定する
    • Get/Set BlackboardValue as (型)を使用
      • BehaviorTreeが所有するノード

躓きポイント

BehaviorTreeのMoveToタスクを使用する際には、対象のPawnをCharacterクラス派生にするかFloatingPawnMovement等のPawnMovementComponent派生のコンポーネントを付与している必要がある。
これをしなかったためにMoveToタスクが正しく挙動しなくて小一時間悩んだ

参考にしたページ

【UE4 AI入門】簡単なNPCの作成から学ぶUE4のAI | UnrealEngineDrive

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?