こんにちは。Unity でレースゲームを作っております。
敵のAIでNav Meshを使おうと思って調べてやってみました。
するとこのようなエラーが出てきました。
C#
1"SetDestination" can only be called on an active agent that has been placed on a NavMesh. 2UnityEngine.AI.NavMeshAgent:SetDestination(Vector3) 3CarAI:Start() (at Assets/Scrips/CarAI.cs:15) 4
日本語訳では・・・
「SetDestination」は、NavMeshに配置されたアクティブエージェントでのみ呼び出すことができます。
です。
肝心なコードは、下です。テスト的に一点をそこに向かわせるような、モノです。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.AI; 5 6public class CarAI : MonoBehaviour 7{ 8 [SerializeField] private Transform[] passingPoint; 9 private NavMeshAgent nav; 10 11 // Start is called before the first frame update 12 void Start() 13 { 14 nav = GetComponent<NavMeshAgent>(); 15 nav.SetDestination(passingPoint[0].position); 16 } 17 18 // Update is called once per frame 19 void Update() 20 { 21 22 } 23} 24
調べたこと
naviメッシュとエージェントがくっついていない。など 車体とベイクした床はくっついております。
あとはAgent Typeが違うなど、
エージェントタイプも触っておりません。
原因がわからないので、質問させてもらいました。
もし分かる、教えてくださるかなどいるならば、ご教示願います。
今後の製作にも役立つので!どうかお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。