FC2ブログ

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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 ナビゲーションメッシュ(Nav Mesh)を使わない簡単な直線移動を実装する(Move To Location or Actor、Move To Location、Move To Actor)

AIでの簡単な直線移動を実装する方法です。
今回の方法ではナビゲーションメッシュ(Nav Mesh)を使わないで移動しています。

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

・[UE4] ランダムに移動するキャラクターを簡単に実装する方法
http://historia.co.jp/archives/7101/

直線で移動させるために今回は
「Move To Location or Actor」ノードを使いました。
MoveToLocation002.png
「Goal Location」に目標位置を指定します(アクターの場合はGoal Actorに指定します)
ナビメッシュを使わないので「Use Pathfinding」のチェックを外します(後述)
他の細かいパラメータの部分はちょっと割愛します。

公式ドキュメントはこちら。

・Move To Location or Actor
https://api.unrealengine.com/INT/BlueprintAPI/AI/Tasks/MoveToLocationorActor/index.html

ノードの細かい説明はこちらが参考になると思います。

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

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

ということで今回は「Use Pathfinding」のチェックを外しました。

あとはこんな感じでヒストリアさんのサイトを参考にBPを組みます。

ランダムな位置を取得するための範囲を配置したり。
MoveToLocation003.png

その範囲内の位置を取得する関数を作成したり。
MoveToLocation000.png

あとは「Move To Location or Actor」ノードを使って
取得したランダムな位置に移動するようにしてみました。
MoveToLocation001.png

これの結果がこんな感じに。

それっぽく動きました!

「Move To Location or Actor」ノード以外にも
「Move To Location」ノードや
MoveToLocation005.png

・Move to Location
http://api.unrealengine.com/INT/BlueprintAPI/AI/Navigation/MovetoLocation/index.html

「Move To Actor」ノードというものもあります。
MoveToLocation004.png

・Move to Actor
http://api.unrealengine.com/INT/BlueprintAPI/AI/Navigation/MovetoActor/index.html

Move To系でありながら、これまで紹介してきた全てのMove Toノードの機能を内包しているのがこの"Move To Location or Actor"です。

ということみたいなので
特に問題がなければ「Move To Location or Actor」ノードを使えばいいみたいですね。

AIの移動系ノードは別途どこかでまとめようと思います。

| UE4 | 12:53 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/417-68dff3bf

TRACKBACK

PREV | PAGE-SELECT | NEXT