NavMeshBoundsVolumeを使ってレンジ内に侵入したプレイヤーに向かって動く処理を実装したい | UE4&5 Forum | Tech Stadium Forum

通知
すべてクリア

NavMeshBoundsVolumeを使ってレンジ内に侵入したプレイヤーに向かって動く処理を実装したい  

固定ページ 1 / 2
  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:48 pm  

エネミー(狼)の動作追加について質問があります。

NavMeshBoundsVolumeを使ってレンジ内に侵入したプレイヤーに向かって動く処理を実装しましたが、エネミー(狼)は動きませんでした。追加した内容は以下の通りです。

①NavMeshBoundsVolumeをレベル上に展開。(0812_03.PNG)
②<エディタ設定 - EQS >をtrueに変更。(0812_02.PNG)
③BehaviorTree、BlackBoard、EQS、AIController の追加。(0812_04.PNG)
④AIControllerの設定。(0812_05.PNG)
⑤エネミー(狼)のAIコントローラー設定。(0812_06.PNG)
⑥EQSの処理追加(0812_07.PNG)
⑦BlackBoardにターゲットとなるプレイヤー変数追加。(0812_08.PNG)
⑧BehaviorTreeの処理追加(0812_09.PNG)
⑨エネミー(狼)をレベル上に配置

NavMeshBoundsVolumeがエネミー(狼)を配置した場所を除外していることが気になるのですが、エネミー(狼)をポーンクラスで作成したことが原因でしょうか。
それとも設定や手順に抜け、誤りがあるのでしょうか。お手数ですが、ご確認をよろしくお願いいたします。

 

This topic was modified 4年前 7回 by Student

引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:50 pm  

NavMeshBoundsVolumeはコリジョンで判断していたはずなので
レベルにあらかじめ配置するとはじかれていたと思います。

レベルに配置ではなく動的生成で対応すれば問題なくいけるはずです。

動的生成のポイントはTragetPointという用意されているオブジェクト(Transformのみのオブジェクト)があるので
それの参照を取得してそのLocation値でスポーンさせる方法でいけるか試してみてください。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:50 pm  

あと動かないのはNavMeshBoundsVolume内の緑色のエリア内でしか動作しないので
それ以外の場所にキャラクターを置くと一切動作しなくなります(機能しない)


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:51 pm  

TragetPointを用いた方法でエネミーの動作を実装することができました。
ただし、[ポーンクラス - スタティックメッシュ]でエネミーを実装していたため、
[キャラクタークラス - スケルタルメッシュ]にて実装するように修正中です。

(アニメーションが実装できないようなので)下記、質問となりますが、
①スタティックメッシュでアニメーションの適用は可能でしょうか。
 もし可能でありましたら方法を教えていただきたいです。
②SK_Meshにて修正中ですが、コリジョンの設定方法を教えていただけますでしょうか。
 現在、添付画像のように実行終了時に警告が出ています。
 原因は特定できていないため調査中ですが、コリジョンを適切に設定できれば解消するのではと考えております。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:52 pm  

追加でもう1点お聞きしたいのですが、
NavMeshBoundsVolumeの範囲外にプレイヤーが存在する場合にエネミーがプレイヤー(Target)の方向に向かってバウンドしており、
NavMeshBoundsVolumeの範囲外(1Fフロア)に落下してしまいます。エネミーを必ず接地させておくために何か良い方法はありませんでしょうか。

Simulate Physicsはtrueにしております。

 

返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:53 pm  

スタティックメッシュは名前の通り静的な物体のメッシュとなり、ボーンがないためアニメーションさせることはできません。

NavMeshやAI周りは、
単純にプレイヤーが移動できる範囲もAIが移動できるよう全て囲ってしまうのではダメですか。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:54 pm  

懸念点についてはNavMeshをフィールドすべてに適応することで解消いたしました。
ですが、可能であれば範囲を限定したいためこれから調整します。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:55 pm  

SK_Meshのコリジョン調整をどこで行うかについては、

SK_Meshを開き、右上のPhysicsをクリックすると画像のような画面になります。
この中でコリジョンの設定が行われているか確認してもらってもよいでしょうか。
エラーログを見る限り、Physicsアセット内でコリジョンが存在していないから出ているものと思われます。

 


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:55 pm  

確認いたしましたが、コリジョンが設定されていないようです。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:56 pm  

であれば何か1つコリジョンを追加すれば先ほどのエラーログは出なくなると思いますので、ツリーにコリジョンを追加してみてください


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:56 pm  

SkeletonTreeからEnableCollisionAllを選択していますがコリジョンが追加されません。
EnableCollisionは各部位ともに非活性となっております。
設定箇所が間違っているのでしょうか。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:57 pm  

下図のように右クリックで出てきたメニューから「AddShape」で追加したい形を選択することで追加できます。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:57 pm  

AddShapeにて追加後にすべてのコリジョンを有効化しましたが警告が出ています。
Sphereコリジョンは設定されているように思われるのですが。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
01/09/2020 6:58 pm  

あとは敵のBPのMeshコンポーネントのコリジョン設定がNoCollisionになっていないかなどを調べていくしかないかと


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
01/09/2020 6:58 pm  

ちなみに先ほどの画像でコリジョンが有効化されているという認識で問題ないですよね?


返信引用
固定ページ 1 / 2
共有:
タイトルとURLをコピーしました