FC2ブログ

凛(kagring)のUE4/UE5とUnityとQt勉強中のゲーム制作ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。ゲーム制作の話題もはじめました。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 ビヘイビアツリー(Behavior Tree)を実行する(Run Behavior Tree)

ビヘイビアツリー(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」ノードを使います。
RunBehaviorTree000.png
「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 を返す

ここらへんは内部処理として覚えておきたいですね。

実際に使ってみるとこんな感じになります。
RunBehaviorTree001.png

あとはビヘイビアツリーの中身次第ですね。

| UE4 | 00:57 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/440-d27634e3

TRACKBACK

PREV | PAGE-SELECT | NEXT