MGames

بازی سازی یونیتی توسط MGames

MGames

بازی سازی یونیتی توسط MGames

MGames

ساخت بازی با یونیتی توسط گروه MGames و همچنین اراعه ی بازی های این گروه در این وبلاگ

دنبال کنندگان ۳ نفر
این وبلاگ را دنبال کنید
طبقه بندی موضوعی
آخرین نظرات
  • ۲ تیر ۹۵، ۲۳:۱۲ - amr
    عالی
نویسندگان

۴ مطلب با کلمه‌ی کلیدی «آموزش هوش مصنوعی» ثبت شده است

بخش 4 هوش مصنوعی یونیتی

خب آقایون و خانم ها خیلی ببخشید چرا که در این قسمت هم از شلیک خبری نیست و فقط روی حداکثر فاصله بحث خواهد شد.
شات از کد ها :
AI
توضیحات :
همونطور که می بینید شرط ها عوض شدن و چند متغییر سراسری شدن و یه متغییر MaxDistance برای حداکثر فاصله اضافه شد
و شرط ها رو هم که دیگه شما باید خودتون درک کنید  من فقط میتونم بگم که :
||     :  در فارسی بگویید "یا"
&&   :  در فارسی بگویید "و"
در قسمت بعد 100 درصد روی شلیک کار می کنم و آموزششو میدم
التماس دعا ...

بخش 3 هوش مصنوعی یونیتی

خب در این قسمت قراره آموزش ببینید که چطور به هوش مصنوعی قبلی کدی رو اضافه کنیم که اگر هدف رو دید دنبال کنه

و چون این مبحث یه مقدار سنگین هست نسبت به قسمت قبلی برای همین بخش تیر زدن رو در این قسمت آموزش نمی دم

اینم کد جدید :

AI

توضیحات :

MaxSee یه متغییر از نوع اعشاری برای حداکثر فاصله دید

Saw یه متغییر از نوع bool که اگر هدف رو دیدیم این متغییر true میشه(بوسیله کد هایی که نوشته شده)

شرط ها رو هم که قبلا توضیح داده شده و فقط یه شرط برای دیدن اضافه شد ( || یعنی (یا)  و  && یعنی (و) )

Ray r بوسیله این کد یه Ray ساختیم و transform.position یعنی موقعیت فعلی رو برای شروعش دادیم و جهتش رو رو به جلو گزاشتیم (transform.forward)

-زیاد وارد بحث RaycastHit , Ray نمیشم چون خیلی چیز رو باید توضیح بدم در اون صورت و مقاله در موردش توی همین وبلاگ وجود داره میتونید استفاده کنید.

Physics.Raycast با این کد که سه ورودی میگیره ( در حالت عادی ) اولیش اشعه Ray هست و دومیش همون RaycastHit هست و سومیش هم حداکثر فاصله و بعدش اگر به جسمی برخورد کرده مقدار true رو بر میگردونه و اگر برخورد نکرد false رو بر میگردونه و ما نیز این مقدار رو که بر میگردونه رو داخل متغییر Saw میریزیم

در آموزش بعد یاد خواهیم گرفت :

با نزدیک شدن به هدف به آن تیر بزنیم

با دور شدن از هدف بایستیم

بخش 2 هوش مصنوعی یونیتی

خب در این بخش قراره یاد بگیرید که چطور به هوش مصنوعی قبلی یه سیستم اضافه کنیم

که اگر نزدیک هدف شد متوقف بشه و برعکس :

توضیحات :

همونطور که در کد بالا میبینید کد nav.SetDestination قبلا توی Start بود ولی الان در هر فریم موقییت هدف رو دنبال می کنه و اگر شما کد قبلی رو اجرا کرده باشید و این کد رو هم اجرا کنید متوجه فرقشون میشید

در کد قبل اگر هدف فرار میکرد ما دنبالش نمی رفتیم ولی در این کد و با این کار هدف دنبال میشه

متغییر های MinDistance , Speed اضافه شدن که اولی برای سرعت و دومی برای حداقل فاصله است.

Vector3.Distance

این تابع یا کد دو ورودی (آرگومان) داره که اولیش = مختصات خودمون و دومیش = مختصات هدف است و به ما فاصله بین این دو رو به صورت float میده

nav.speed

این تابع سرعت رو تنظیم میکنه و همونطور که میبیند ما شرط گزاشتیم که اگر فاصله به حداقل رسید سرعت 0 بشه و اگر فاصله تغییر کرد و حداقل نبود سرعت هم تغییر کنه و برابر Speed (متغییری که در بالا تعریف شده ) بشه

در آموزش بعد یاد خواهیم گرفت :

با دیدن هدف آن را دنبال کنیم

به هدف رسیدیم بهش شلیک کنیم 

منبع : gameover.blog.ir

بخش 1 هوش مصنوعی یونیتی

برای اینکه گیم آبجکت بتونه مسیر یابی کنه و دنبال هدف بره نیاز به تعریف موانع داریم که این عمر در یونیتی بسیار ساده است
1-پنجره Navigation را به یونیتی اضافه کنید : برای اینکار به این مسیر بروید Windows > Navigation
2- همه موانع خود در محیط را انتخاب کرده و تیک Static آن را بزنید
3- به پنجره Navigation بروید و زمین خود را در Hierarchy انتخاب کرده و روی دکمه Bake بزنید
4- صبر کنید تا زمین شما آبی شود (در ادیتور)
5- هم اکنون گیم آبجکت میتواند به کمک اسکریپت C# زیر مسیریابی کند :
توضیح :
NavMeshAgent کامپوننتی هست که کار ما را برای هوش مصنوعی (مسیریابی) آسان کرده و با تعریف این کامپوننت میتوانیم خیلی از امکانات هوش مصنوعی را استفاده کنیم
nav در اینجا NavMeshAgent ما هست
Target در کد هدف ما هست که باید آن را درگ کنید (در یونیتی ادیتور)
nav.SetDestination
این کد اصل کار ما هست
بوسیله این کد شما میتوانید مقصد گیم آبجکت را انتخاب کنید 
که ما مقصد را Target معرفی کرده ایم و دقت داشه باشید که
باید مقصد را به طور Vector3 معرفی کنید !
در آموزش بعد به شما یاد خواهیم داد 
چگونه یک هدف متحرک را دنبال کنید
اگر هدف به شما نزدیک بود متوقف شوید
اگر هدف دور شد تعقیبش کنید
منبع : gameover.blog.ir