x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Simple Move to Actorでキャラクターが動かない

いつもお世話になっています。
ThirdPesonテンプレートを元にアクションゲームを制作しており、「アクションゲームブループリント入門」を参考にプレイヤーキャラクターを敵が追ってくるようSimple Move to Actorを使用した下画像のBPを作ったのですが、キャラクターが立ち止まったままで動いてくれません。 alt text 色々調べてみてはみたのですが原因がどうしてもわかりません。
・NavMeshBoundsVolumeでパスもビルド済み
・他のレベルを制作して同じように試してみても敵は動かなかった
・敵キャラクターBPの詳細のPawnにて下記の設定をしている
AutPossess:Placedin World or Spawned
AI Controller:AIController
・AI Move Toで下記のBPを組んだ場合はプレイヤーキャラクターを追ってきてくれる
なおプレイヤーが空中にいる場合、パスの外から出た場合は動かなくなるので
恐らくNavMeshBoundsVolumeでパスのビルドはうまくいっている? alt text

上記以外の要因でSimple Move to Actorでキャラクターが動かないことがあるのでしょうか。 動かない要因になりそうなものが不明の為、良ければ教えていただきたいです。 よろしくお願いします。

Product Version: Not Selected
Tags:
質問.png (345.4 kB)
質問.png (306.1 kB)
more ▼

asked Jul 20 '19 at 02:27 PM in Japanese

avatar image

Tanishi Tonio
12 1 2 3

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

こんばんは。
4.22.3のThirdPersonTemplateを利用して、添付頂いたBlueprintのNodeで動作を確認してみましたがSimpleMoveToActor、AIMoveToの両方のケースにおいてPlayerPawnを追従するような期待通りの動作となりました。

なおプレイヤーが空中にいる場合、パスの外から出た場合は動かなくなるので恐らくNavMeshBoundsVolumeでパスのビルドはうまくいっている?

状況から推測するとNavmeshは正しく敷かれてビルド出来ているように思われますが、Navmeshのビルド結果が正しく反映されているかは、Editor上で"P"キーを押す(もしくはコンソールコマンドのshow navigationコマンドや、BlueprintNodeのExeuteConsoleCommandに"show navigation"と入力しておく)とビルドされているNavmeshの範囲が視覚的に確認することができます。これに正しく範囲内にNavmeshがビルドされていれば、Navmeshの問題である可能性を除外できます。

・AI Move Toで下記のBPを組んだ場合はプレイヤーキャラクターを追ってきてくれる

つまりキャラクターのTickは正しく動作出来ているということですね。そうであればSimpleMoveToActorでのみの問題と絞り込むことが出来ます。

Simple Move to Actorを使用した下画像のBPを作ったのですが、キャラクターが立ち止まったままで動いてくれません。

SimpleMoveToActorが失敗するケースは入力のControllerやGoalに設定されたActorなどが存在しない(nullとなっている)ケースが考えられます。この場合、EditorのOutput LogにWarningのログが出力されているかと思いますので、こちらを確認なされることをお勧めします。

もしWarningが出ている場合、どちらがnullとなっているかはログに出力されますが、IsValidノードを使用してnullとなっていることを確認することもできます。恐らくAIMoveToで正しく動作出来ているとするとPlayerPawnは存在していると思われるため、Controllerが設定されていないかもしれません。

もしGetControllerがnullとなっている場合、SpawnしているケースにおいてはDefaultControllerを設定する必要があるかもしれません。もしSpawnしてキャラクターを生成している場合は、キャラクターをレベルに直接配置して、一度動作確認なされるのがよろしいかと思われます。
この動作がどのバージョンによるものか分からなかったため、ご利用のバージョン(Product Version)も入力ください。

more ▼

answered Jul 20 '19 at 04:33 PM

avatar image

Ken.Kuwano STAFF
452 3 3 6

avatar image Tanishi Tonio Jul 22 '19 at 02:23 PM

丁寧な回答ありがとうございます。
使用しているバージョンは4.20です。
IsValidノードを使用して確認してみましたが恐らくContollerは確認されているようでした。
しかしキャラクターが動きません。
alt text
alt text またOutput Logを確認してみたのですがWarningの表示がありませんでした。
一応下記のようにSpawnDefauitContorollerを繋いでみましたが、やはりキャラクターは動かず。
alt text
alt text
もしかしたらBPの組み方が悪いのかもしれませんが、やはりキャラクターが動かない原因がわかりません。 一応バージョンを4.20→4.22.3へアップしてみたのですがそれでも結果は変わりませんでした。 他になにか要因ありそうでしょうか。心当たりあれば教えていただけると幸いです。
よろしくお願いします。

追加質問.png (340.4 kB)
追加質問.png (1.0 MB)
追加質問.png (714.6 kB)
追加質問.png (375.7 kB)
avatar image Ken.Kuwano STAFF Jul 22 '19 at 03:00 PM

ご確認ありがとうございます。
Tickが正常に動作している、NavMeshが正しくビルドできているようですので、キャラクターかノードに問題がある可能性が高いと思われます。
以下の2点についてはどうでしょうか。

1. SimpleMoveToActorノードを一度削除して再度接続して動作確認する
4.20でSimpleMoveToActorのノードの参照先が変更となりました、一度ノードを再生成することで正しい動作が得られるかもしれません。

2. キャラクターのBPを別のキャラクター(ThirdPersonTemplateのCharacterや、新しく作成したCharacterなど)に置き換えて確認する
もしこれで正しく動作する場合、今利用されているキャラクターBPに問題があると思われます。

avatar image Tanishi Tonio Jul 28 '19 at 08:41 AM

Ken.Kuwano 様
いつも丁寧なご回答ありがとうございます。
おかげで原因が判明いたしました。
どうも自分のキャラのCapsulecConponentのShepeのCapsuleHalfHeightが256を超えた場合SinmpleMoveToActorが反応しなくなるようでした。
alt text 指摘いただいたSinmpleMoveToActorを再度接続しても反応せず、使用キャラクターをグレーマンに変えた場合、敵キャラクターがSinmpleMoveToActorで動き出しました。 そのあと制作したキャラクターと動作したグレーマンとの比較をしていくと上記の結果が出ました。
他のサードパーソンプロジェクトを作成して試してみましたが、CapsulecConponentのShepeのCapsuleHalfHeightが256を超えると同様に敵キャラクターがSinmpleMoveToActorで動かなくなりました。

これはSinmpleMoveToActorの仕様なのでしょうか。一応質問していた内容としては解決できたので解決済みにしておこうかと思いますが、ご存じでしたらご教授願います。よろしくお願いします。

avatar image Tanishi Tonio Jul 28 '19 at 08:59 AM

すみません、記載ミスありました。境の数値の256は257です。これを超えるとSinmpleMoveToActorが反応しなくなります。

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question