前提・実現したいこと
Unityでプレイヤーを追ってくる敵を作成しようとNavMeshの機能を用いることにしました。ステージをstaticに設定し、Navigationウィンドウから適切なAgent Sizeを決めてからBakeしました。
Unity標準のCylinderにNavMeshAgentコンポーネントを追加して、Sizeを整えた後
以下のスクリプトを追加しました。
c#
1public class Enemy : MonoBehaviour { 2 public NavMeshAgent agent; 3 public GameObject target; 4 void Start () { 5 agent = GetComponent<NavMeshAgent>(); 6 } 7 8 void Update () { 9 agent.destination = target.transform.position; 10 } 11}
targetに、ステージに置いたGameObjectを設定してゲームを実行しましたがエラーメッセージがでてうまく動きません。
発生している問題・エラーメッセージ
"SetDestination" can only be called on an active agent that has been places on NavMesh
Update毎にエラーが発生してます。
試したこと
NavMeshを焼き直したり、AgentやTargetの位置を高くしたり低くしたりしました。
StageはNavigation Staticになっています。
Unityの再起動も行いました。
補足情報
###追記
単純に、経路探索がうまくいくまで待つ方法が分からないということではなく、いつまでも経路が発見されず、エージェントが動かないということです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/04 12:53
2018/03/05 02:27
2018/03/05 03:25