前提・実現したいこと
Unityでプレイヤーを追ってくる敵を作成しようとNavMeshの機能を用いることにしました。
床や壁、障害物をstaticに設定し、NavigationウィンドウからBakeしました。
Unity標準の特定のcube(enemy)にNavMeshAgentコンポーネントを追加しました。
以下のスクリプトを追加した上で、enemyにドラッグ&ドロップで下記スクリプトを付けました。※Targetはドラッグ&ドロップで追跡対象(Player)にしています。
発生している問題・エラーメッセージ
enemyは障害物を避けてくれますが、enemyのスピードを変えても変化がないのと、 追跡対象(Player)がちょっと避けたりすると、 enemyが旋回するのに時間がとてもかかります。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.AI; 5 6public class EnemyChaseScript : MonoBehaviour 7{ 8 public GameObject target; 9 private NavMeshAgent agent; 10 // Start is called before the first frame update 11 void Start() 12 { 13 agent = GetComponent<NavMeshAgent>(); 14 } 15 16 // Update is called once per frame 17 void Update() 18 { 19 // ターゲットの位置を目的地に設定する。 20 agent.destination = target.transform.position; 21 } 22 23}
試したこと
Unityの再起動、PCの再起動してもダメでした。
補足情報(FW/ツールのバージョンなど)
2019.4.12f1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。