MGames

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

MGames

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

MGames

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

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

۲۴ مطلب با موضوع «یونیتی» ثبت شده است

آموزش پروژه محور یونیتی

منبع : promakers.ir , gamesedit.ir

به نظر من اگر مبتدی هستی با این آموزشات شروع کن که واقعا هم یاد میگیریشون (رایگان)

اگر مشکلی پیش اومد برای لینک ها و یا مشکل داشتید با قسمتی از آموزش در بخش نظرات مطرح کنید

قسمت اول(1) : دانلود

قسمت اول(2) : دانلود

قسمت دوم : دانلود

قسمت سوم : دانلود

قسمت چهارم : دانلود 

قسمت پنجم : دانلود

قسمت ششم : دانلود

قسمت هفتم : دانلود

قسمت هشتم (1) : دانلود

قسمت هشتم (2) : دانلود

قسمت هشتم (3) : دانلود

فایل های استفاده شده در آموزش :

دانلود تکسچر آسفالت

دانلود کرکتر

دانلود انیمیشن های چپ و راست

دانلود زامبی ها + لینک کمکی

دانلود Muzzle (آتش دور اسلحه)

دانلود تکسچر گلوله برخورد کرده بر روی دیوار

برای دانلود مدل هایی مثل اسلحه به این سایت بروید 

آموزش مسیریابی نقطه ای در یونیتی (Waypoint)

خب اینم از کد :

توضیحات کد زیر :

agent.autoBraking به وسیله این کد میشه برای آبجکتمون تعریف کرد که به حرکت خودش ادامه بده (در صورت false بودن)

agent.destination این کد هم مسیر رو تنظیم می کنه

% در زیان C# عملگر باقی مانده هست

points.Length اندازه متغییر های درون آرایه points رو بهمون میده مثلا شما توی points چهار متغییر برای نقاط روی نقشه گزاشتید این کد هم 4 رو بر میگردونه

agent.remainingDistnace این کد مقدار فاصله مونده تا مقصد رو بر میگردونه

خب بقیه رو خودتون باید درک کنید من توضیح خاصی توی کد نمی بینم

اگر کد کار نکرد :

-چک کنید Navigation رو درست انجام دادید

-چک کنید که points ها رو هم به اسکریپت نسبت داده باشید

-آبجکتی که اسکریپت رو بهش دادید باید NavMeshAgent داشته باشه

    // Patrol.cs
    using UnityEngine;
    using System.Collections;


    public class Patrol : MonoBehaviour {

        public Transform[] points;
        private int destPoint = 0;
        private NavMeshAgent agent;


        void Start () {
            agent = GetComponent<NavMeshAgent>();

            // Disabling auto-braking allows for continuous movement
            // between points (ie, the agent doesn't slow down as it
            // approaches a destination point).
            agent.autoBraking = false;

            GotoNextPoint();
        }


        void GotoNextPoint() {
            // Set the agent to go to the currently selected destination.
            agent.destination = points[destPoint].position;

            // Choose the next point in the array as the destination,
            // cycling to the start if necessary.
            destPoint = (destPoint + 1) % points.Length;
        }


        void Update () {
            // Choose the next destination point when the agent gets
            // close to the current one.
            if (agent.remainingDistance < 0.5f)
                GotoNextPoint();
        }
    }

بخش 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

ذخیره و بارگزاری متغییر در یونیتی

برای ذخیره متغییر باید مشخص کنید متغییر از کدام نوع هست


اگر متغییری که میخواهید ذخیره کنید int باشد

(3,"")PlayerPrefs.SetInt

درون "" باید یک اسم برای متغییر انتخاب کنید مثلا اگر demo را انتخاب کنید باید اینگونه بنویسید "demo"

و به جای 3 میتوانید مقدار int را بنویسید مثلا اگر میخواهید متغییر int به نام myint رو سیو کنید باید عدد 3 را پاک

و به جای آن myint رو بزارید یا میتونید یه عدد جاش بزارید

و برای لود کردن اون میتونید از

;("")PlayerPrefs.GetInt

استفاده کنید

به جای "" باید اسم متغییری  که قبلا سیو کردید رو بدید مثلا اگر مثل کد بالا اسم رو demo نوشته باشید باید بنویسید "Demo" :

;("")int a = PlayerPrefs.GetInt

در مثال بالا مقدار رو بارگزاری میکنه و درون متغییری به نام a میریزه

برای ذخیره و بارگزاری String , Float کافیه اون Int درون کد PlayerPrefs.GetInt یا Int درون کد PlayerPrefs.SetInt رو به String یا به Float تغییر بدید

خروجی اندروید در GMS , Unity

در این تاپیک قصد دارم آموزشی کامل و بی نقص در
رابطه با خروجی گرفتن اندروید در گیم میکر استادیو
رو براتون بزارم + فایل های مورد نیاز

اول بگم برای خروجی تنها به فایل های زیر نیاز دارید:


SDK 24.4.1

JDK 8

NDK 10

Api 7 , 8 , 13

َاگر خروجی یونیتی میگیرید باید API 21 رو هم دان کنید

اگر خروجی گیم میکر میگیرید باید API 15 , 16 رو هم دان کنید

(کلا یونیتی برای خروجی به Google API نیاز نداره)
Google Api 7 , 8 , 13 , 15 , 16 = برای گیم میکر هست که شما فقط باید 7 و 8 و 13 رو دان کنید و به روش ما 15 و 16 را خودتان بسازید (در پایین روش را آموزش داده ام)

22 = build-tools

platform-tools = 22


فایل های بالا رو در این آدرس پیدا کنید و دانلود کنید.

فقط برای دانلود google api ها باید از لینک های زیر استفاده کنی

َAPI 13

API 8

API 7

برای NDK هم توی گوگل سرچ کنید میاد

خب بریم سراغ آموزش راه اندازی SDK , NDK , JDK :


اول اینکه JDK رو نصب کنید ( همش روی Next بزنی حله )


دوم اینکه SDK رو هم مثل JDK نصب کنید

حالا به محلی که SDK رو نصب کردید برید و پوشه Platform-tools که دان کردید رو توی android-sdk کپی کنید

بعدش پوشه Build-tools رو هم همون جا کپی کنید

خب حالا به پوشه Platforms برید (اگر ندارید خودتون یکی بسازید)

حالا همه API هایی که دان کردید رو استخراج و به پوشه Platforms کپی کنید

خب حالا NDK رو که دان کردید استخراج کنید و کپی کنید جفت پوشه ی android-sdk یعنی در پوشه Android

خب اینم از NDK


خب حالا برای اینکه یونیتی یه چند مشکل داره و نیاز به API 21 داره باید این API رو هم دان کنید

خب بعدش این API رو هم بفرستید جفت بقیه و اسم پوشه رو از android-5.0.1 به android-21 تغییر بدید و اگر هم که خود اسم پوشه android-21 بود کاری بهش نداشته باشید

خب حالا میتونید خروجی اندروید از یونیتی بگیرید

بریم سراغ گیم میکر :


خب همه Google API ها را استخراج و به پوشه add-ons کپی کنید (مثل API ها باید پوشه های Google API ها رو کپی کنید)

خب حالا Google API ها 15 و 16 هم نیازه که اگر پیداش کردید به من هم بدیدwink
ولی این Google API ها اصلا پیدا نمیشن برای همین شما دو بار پوشه addon-google_apis-google-13 رو در محل add-ons کپی کنید و بعدش اسم اولین پوشه کپی شده رو به addon-google_apis-google-15 و بعدی رو به
addon-google_apis-google-16 تغییر بدید حالا به داخل پوشه ی addon-google_apis-google-15 برید و فایل
source.propertis را با نت پد باز کنید و عبارت AndroidVersion.ApiLevel=13 را به AndroidVersion.ApiLevel=15 تغییر دهید و سیو کنید حالا برید برای addon-google-apis-google-16 هم همین کار رو کنید فقط عبارت AndroidVersion.ApiLevel=13 رو به AndroidVersion.ApiLevel=16 تغییر بدید

حالا وارد گیم میکر شید و خروجی بگیرید


لطفا وبلاگ را با دوستان اشتراک بگزارید

تقریبا 70 کلمه خنده

آموزش ساخت بازی آنلاین قسمت 3

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

گرفت که چگونه میتوان یک فایل php ساخت و آن را

در هاست رایگان خود بگزاریدو کاری کنید که در پایگاه 

داده نام خود را با امتیاز وارد شده را ثبت کنید

توجه : لطفا بدون ذکر منبع کپی نکنید در غیر این صورت حرام است و اگر دیدم آموزشات را متوقف می کنم

لطفا اگر آموزشات قبلی رو نخوندید این آموزش رو دانلود نکنید

دانلود آموزش قسمت سوم با حجم 300 کیلوبایت

آموزش ساخت بازی آنلاین قسمت 2

در این قسمت نیز خبری از کد نویسی نیست و شما

یاد خواهید گرفت چگونه یه هاست رایگان بسازید

و یک پایگاه داده در آن بسازید .

دانلود با حجم 1 مگابایت

کپی بدون ذکر منبع ممنوعه