UE4でAI(ビヘイビアツリー)を一時停止する方法

More than 3 years have passed since last update.


概要

UE4でビヘイビアツリーで動作しているAIキャラクターを止めたい場合どうしたら良いのかな?と調べたらありました。


停止のさせ方

「StopLogic」というノード。AIControllerの「Brain Component」から引っ張ってこれるもので、これを使用したサンプルブループリントが下記の画像です。

下記のブループリントは、一旦AIキャラクターを非表示にして、AIをストップさせています。

stoplogic.png


再開のさせ方

逆に一時停止したものを再開させるノードは下記です。

「RestartLogic」というノード。こちらも、AIControllerの「Brain Component」から引っ張ってくるものです。

下記のブループリントは、AIの動作を再開させてキャラクターを表示指定ます。上記のブループリントとペアに使用しています。

※ブループリントの流れ的には、AIを再開させたあと「Set Actor Hidden in Game」でActorを再表示させてます。

RestartLogic.jpg


BrainComponentとは?

リファレンスのページを見るとブループリントになっているのは、上記の2つのみですが、C++では色々他にも使えそうなものがあるので、AIの細かい動作を作りたい場合は、リファレンスを見ると良さそうです。

*「ResumeLogic」

* 「IsPaused()」

* 「IsRunning()」

https://docs.unrealengine.com/latest/INT/API/Runtime/AIModule/UBrainComponent/index.html