UE4 ビヘイビアツリー(Behavior Tree)を実行する(Run Behavior Tree)
ビヘイビアツリー自体の作り方や制御の仕方についてはまた別途ということで。
こちらを参考にしました。
・ビヘイビアツリーのクイックスタート ガイド
http://api.unrealengine.com/JPN/Engine/AI/BehaviorTrees/QuickStart/index.html
・8. Controller ブループリント:ビヘイビアツリーを実行する
http://api.unrealengine.com/JPN/Engine/AI/BehaviorTrees/QuickStart/8/index.html
ビヘイビアツリーを実行するには「Run Behavior Tree」ノードを使います。

「Target」には「AI Controller」を指定します。
「BT Asset」にはビヘイビアツリーを指定します。
このノードの詳細についてはこちらの資料が参考になります。
UBehaviorTreeComponent がなければ AAIController に追加する RunBehaviorTree() を何度も呼び出しても UBehaviorTreeComponent は 1 つだけしか付加されない
引数 BTAsset に Blackboard Asset が指定されていて、 かつ UBlacokboardComponent が存在しないか 存在していても互換性がない場合、 UseBlackboard() が実行される UseBlackboard() Node を実行しなくても UBlackboardComponent が追加されていたのはこのため 既存の Blackboard の Asset が BTAsset が指定する Blackboard Asset の親である場合、 または両者の Key がすべて同一であれば、 互換性があると見なされる 要するに、これから実行する BehaviorTree 内で使われる可能性のある Key が 既に存在する UBlackboardComponent 内に無いのは困るので、 その場合は UBlackboardComponent を作り直してしまえ、ということ
ここらへんは内部処理として覚えておきたいですね。引数 BTAsset が NULL のときのみ false を返す
実際に使ってみるとこんな感じになります。

あとはビヘイビアツリーの中身次第ですね。
| UE4 | 00:57 | comments:0 | trackbacks:0 | TOP↑