آموزش استفاده از Navigation (مسیر یابی) و نوشتن اسکریپت برای عملکرد آن
#آموزش استفاده از #Navigation (مسیر یابی) و نوشتن #اسکریپت برای عملکرد آن :
ابتدا پنجره Navigation رو از قسمت Window/Navigation باز میکنیم.
حالا همه اجسامی که بی حرکت و بی انیمیشن هستند را در حالت Static قرار دهید (اجسام رو انتخاب کنید و در بالای صفحه اینسپکتور Inspector کنار نام گیم آبجکت روی گزینه Static کلیک میکنیم تا تیک بخوره).
در این پنجره Navigation به قسمت Bake میریم و Agent Radius رو روی 0.2 تنظیم میکنیم حالا روی دکمه Bake کلیک میکنیم و صبر میکنیم...
حالا یک #اسکریپت با نام دلخواه میسازیم و بازش میکنیم... ، کتابخانه ی مربوط به Navigation رو تعریف میکنیم : using UnityEngine.AI;
خب حالا متغیر از نوع NavMeshAgent و با نام دلخواه مثلا enemy میسازیم و میریم تابع استارت و کد زیر رو میزنیم :
enemy = this.GetComponent<NavMeshAgent> ();
حالا میریم تابع آپدیت و میتونیم توی شرط چک فاصله بین دشمن و پلیر بنویسیمش و یا بدون شرط که از همون اول بازی میره دنبال پلیر :
enemy.destination = player.transform.position;
خب دوستان میتونید یه متغیر دیگه از نوع Transform بسازید و با اسم player و بعد = پوزیشن این متغیر رو بگیرید و بریزید توی متغیر destination کامپوننت navMeshAgent دشمنمون و یا میتونید از تابع SetDestination این کامپوننت استفاده کنید به شکل زیر :
enemy.SetDestination (player.transform.position);
اینجا هم اومدیم پوزیشن متغیر پلیر رو دادیم به تابع SetDestination کامپوننتمون.
حالا میتونید اسکریپت رو به دشمن بدید و پلیر رو به متغیر player اسکریپتمون نسبت بدید و بازی رو تست کنید...
امیدوارم موفق باشید🌹🌺.