FC2ブログ

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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 AIでの移動系ノードまとめ(Simple Move To Actor、Simple Move To Location、Move To Location or Actor、Move To Location、Move To Actor、AI MoveTo)

AIでの移動系ノードまとめです。

こちらを参考にさせていただきました。

・UE4 AIで使う移動と停止のまとめ
http://unrealengine.hatenablog.com/entry/2017/06/14/005914

まずは「Simple Move To Actor」と「Simple Move To Location」ノード。

これらのノードは"Controller"と位置、もしくはActorを与えてあげるだけで簡単に移動させることが可能です。移動後はゴールに辿りつけるか関係なく、その後にコールバックイベントが発生するといったこともありません。

単純に移動したいという目的のみで利用します。

とのことです。

「Simple Move To Actor」。ノード。
SimpleMoveActor001.png
「Controller」には「Controller」を指定します。
「Goal」にはアクターを指定します。

「Simple Move To Location」ノード。
SimpleMoveActor003.png
「Controller」には「Controller」を指定します。
「Goal」には位置を指定します。

使うとこんな感じですね。
「Simple Move To Actor」ノード。
SimpleMoveActor000.png

「Simple Move To Location」ノード。
SimpleMoveActor002.png

次に「Move To Location or Actor」
「Move To Location」「Move To Actor」ノードです。

基本的には"Simple Move to"系の強化版と考えてもらって問題ありません。AIControllerを渡して、位置もしくは対象Actorを渡すと移動します。

到達半径の設定や他にも色々と設定可能ですが、最大の特徴は"Use Pathfinding"のチェックを外すと、なんとナビゲーションメッシュがなくても移動を開始します。

とのことです。

「Move To Actor」ノード。
MoveToLocation004.png
「Target」には「AI Controller」を指定します。
「Goal」には目標となるアクターを指定します。
「Acceptance Radius」は到達チェック用の半径距離のようです。
「Use Pathfinding」はナビメッシュを使うかどうかを指定します。
他の入力については調べ中です。

「Move To Location」ノード。
MoveToLocation005.png
「Move To Actor」ノードとほぼ入力は同じになります。
「Dest」には目標となる位置を指定します。
他の入力については調べ中です。

上記2つは

ただしこれらのノードはコールバックイベントはなく、実行後に移動が開始できたかのReturn値のみを返すというところが"AI MoveTo"との違いです。

ということみたいですね。

「Move To Location or Actor」ノード。
MoveToLocation002.png

Move To系でありながら、これまで紹介してきた全てのMove Toノードの機能を内包しているのがこの"Move To Location or Actor"です。
AIControllerを渡して、位置か対象Actorを渡すと移動を開始します。
"Use Pathfinding"を外すとナビメッシュなしで移動でき、"AI MoveTo"のようにコールバックイベントが返ってきます。

基本的にこのノードさえあれば全てやりたいことが可能なはずです。というくらいにかなり万能なノードです。

といった便利ノードみたいですね。
「Move To Actor」ノードとほぼ入力は同じみたいですね。
他の入力については調べ中です。

組んでみるとこんな感じに。
MoveToLocation001.png

最後に「AI MoveTo」ノードです。
AIMoveTo000.png

AI MoveToの特徴はControllerを必要とせず(ただ内部的に引数であるPawnがAIControllerを持っていることが必須)、到達半径等ある程度細かい設定を行うことが可能です。

位置、もしくは対象Actorを渡すだけで移動します。
移動開始後すぐに一番上のピンが実行され、目的地に到達すると"On Success"、到達できないことが確定すると"On Fail"がそれぞれ返ってきます。
"Movement Result"にはそれぞれコールバックイベントが来た時点での移動状況が返ってきます。

とのことです。

遅延(Latent)ノードなのが特徴みたいですね。

結構ノードが多いのでどれを使ったらと悩みますね…。
とりあえずは「Move To Location or Actor」を使っとけば。みたいな感じでしょうか。

| UE4 | 16:23 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/419-6f723c8c

TRACKBACK

PREV | PAGE-SELECT | NEXT