جشنواره ۵۰٪ تخفیف فرانش به مدت محدود

جشنواره ۵۰٪ تخفیف فرانش محدود

0 روز 0 ساعت 0 دقیقه 0 ثانیه

شروع یادگیری

آموزش یونیتی رایگان پروژه محور به صورت تصویری

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

اگر قصد آشنایی کامل با یونیتی و شروع بازی سازی دارید، در این مقاله از فرانش با آموزش یونیتی که به زبان ساده و گام به گام با تصاویر است، همراه ما باشید. آموزش یونیتی Unity برای افرادی که قصد ورود به دنیای بازی سازی دارند و می‌خواهند توسعه دهنده بازی شوند، یک انتخاب عالی است. شما در انتهای این مقالۀ آموزشی و پروژه محور یونیتی؛ علاوه بر اینکه با تمام اصطلاحات و محیط نرم‌افزار یونیتی آشنا خواهید شد، اولین بازی خود را هم با موضوع یک سفینه فضایی شوتر، تولید و اجرا خواهید کرد.

آنچه مفصلا خواهید آموخت:

  • رابط کاربری محیط یونیتی
  • آشنایی کامل با نوار ابزار یونیتی [ + تصاویر]
  • آموزش نحوه حرکت کردن در داخل Scene یونیتی [با مثال]
  • افزودن و اعمال تغییرات بر GameObjects
  • نحوه سازماندهی Assets
  • تفاوت بین GameObjects و Prefabs
  • نحوه ساخت یک بازی واقعی [ + فایل منابع مورد نیاز بازی ]

توجه: این مقاله پروژه محور است برای اینکه در انتهای مقاله بازی مورد نظر را ساخته باشید، این فایل ضمیمه را دانلود کنید چون در ساخت بازی به آن نیاز پیدا خواهید کرد.

شما می‌توانید سرفصل مدنظر خود برای یادگیری را از فهرست محتوای این مقاله انتخاب کنید تا به قسمت مربوطه هدایت شوید.

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

یونیتی بهترین نرم افزار برای شروع بازی سازی است و مزیت‌های زیادی نسبت به سایر موتورهای بازی ساز دارد. مزایای آموزش یونیتی را به شرح زیر ملاحظه می‌کنید؛

مزایای یونیتی و ویژگی های یونیتی برای بازی سازی چیست؟

۱. با یونیتی برای پلتفرم های مختلفی می توانید بازی بسازید

یونیتی با پشتیبانی از تقریبا 30 سیستم عامل و پلتفرم مختلف، یک موتور بازی ساز Game Engine بسیار محبوب است؛ چون از موبایل، دسکتاپ، کنسول Console و تکنولوژی واقعیت مجازی Virtual Reality و واقعیت افزوده Augmented Reality و … پشتیبانی می‌کند و نسبت به هر فناوری بازی دیگری، بیشتر توسعه پیدا کرده است.

۲. کار با یونیتی ساده است

موتور بازی سازی یونیتی ویرایشگر تصویر Visual Editor بسیار قوی‌ و ساده‌ای دارد که کار را برای بازی سازان راحت کرده و هر روز به تعداد توسعه دهندگانِ آن اضافه می‌کند و این توسعه دهندگان در سرتاسر جهان در به روز رسانی یونیتی کمک می‌کنند.

۳. یونیتی مناسب‌ترین گزینه برای ساخت صحنه‌ها و شخصیت‌ها است

یونیتی برای ساخت صحنه‌ها و شخصیت‌های بازی، از یک سیستم مدولار فوق العاده بهره می‌برد. به نحوی که حتی اگر، تازه کار را شروع کرده باشید، باز هم می‌توانید یک بازی سفینه فضایی بسیار جذاب ایجاد کنید. همان بازی‌ای که در این مقاله پروژه محور، قرار است بسازید.

بازی های ساخته شده با یونیتی

بازی های زیادی با موتور بازی ساز یونیتی ساخته شده‌اند که در این بخش از مقاله، به معرفی 10 مورد از محبوب‌ترین‌های آن‌ها می‌پردازیم:

  1. Temple Run Trilogy سال 2011
  2.  (Assassin’s Creed: Identity (beta سال 2014
  3.  Hitman Sniper سال 2014
  4.  Alto’s Adventure سال 2015
  5.  Mobius Final Fantasy سال 2015
  6.  Reigns سال 2016
  7.  Hollow Knight سال 2017
  8. Monument Valley 2  سال 2017
  9. Escape from Tarkov سال 2017
  10.  Ape Out سال 2019

نقشه راه آموزش یونیتی

نقشه راه آموزش یونیتی در این مقاله؛ به این ترتیب است که ابتدا شما را با محیط نرم‌افزار یونیتی و اصطلاحات آن آشنا خواهیم کرد. سپس در خلال یک پروژه واقعی و با یک دستورالعمل گام به گام و تصویری، بازی سازی را شروع کرده و همه اصطلاحات و ابزارهای معرفی شده را به کار خواهیم گرفت تا کار با یونیتی را به خوبی بیاموزید.

آموزش یونیتی پروژه محور با بازی سفینه فضایی
آموزش رایگان پروژه محور یونیتی با بازی سفینه فضایی

برای آموزش یونیتی در این مقاله، چه پیش نیازی لازم است؟

آموزش یونیتی در این مقاله، پیش نیازی ندارد و حتی اگر هیچ تجربه برنامه‌نویسی ندارید باز هم مهم نیست، چون ما در کل مسیر همراه شما هستیم و همه چیز را به شما آموزش خواهیم داد.

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

بهترین نسخه یونیتی برای شروع کدام است؟

برای شروعِ آموزش یونیتی بهترین نسخه، نسخه رایگان و Personal است. یونیتی به طور کلی سه نسخه دارد، که نسخه رایگان و Personal برای آموزش با این مقاله، کافی است.

نسخه های نرم افزار یونیتی
نسخه های نرم افزار یونیتی

نسخه ‌های یونیتی چه تفاوتی با هم دارند؟

تفاوت نسخه های یونیتی با هم فقط در برخی ویژگی‌های فرعی است. وگرنه تمام نسخه های یونیتی در ویژگی‌های اصلی موتور، به طور یکسان عمل می‌کنند.

قابل توجه‌ترین فرق بین نسخه‌ های Pro و Free این است که؛ بازی‌های ایجاد شده با نسخه شخصی و رایگان Personal Free، باید با صفحه نمایش اولیه یا همان اسپلشِ Unity شروع شوند، در حالی که هر یک از نسخه های پولی Unity Pro، به شما اجازه می‌دهد اسپلش یونیتی را حذف و اسپلش خود را جایگزین کنید.

همچنین یونیتی، خدماتی مانند Cloud Build، Analytics و… هم ارائه می‌دهد که قفلش در نسخه‌های غیر رایگان و Pro، باز می‌شود.

آموزش نصب یونیتی Unity

روش راه اندازی یونیتی به این ترتیب است که از خود سایت Unity ، دکمه Try Personal را زده و در صفحه دانلود، روی دکمه  Download Install کلیک کنید.

نحوه نصب نرم افزار یونیتی Unity
نحوه نصب نرم افزار یونیتی Unity

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

وقتی برنامه نصب شد قبل از ادامه کار و طبق تصویر زیر، برای ورود به یونیتی از شما خواسته می‌شود که Login شوید یا یک اکانت یونیتی بسازید.

فرم ثبت نام برای ایجاد یک اکانت رایگان یونیتی
فرم ثبت نام برای ایجاد یک اکانت رایگان یونیتی

شما باید یک اکانت یونیتی رایگان ایجاد کنید تا بتوانید نرم‌افزار را استفاده کنید. برای این کار، روی لینک Create One کلیک کنید و فرم ثبت نام زیر را پر کنید.

برای هر بار استفاده از یونیتی، باید با اکانت خود وارد شوید. البته حالت آفلاین یونیتی هم موجود است.

شروع بازی سازی با یونیتی و ایجاد یک پروژه جدید

برای شروع بازی سازی با یونیتی و ایجاد یک پروژه جدید، با اکانت خود وارد Unity شوید و تمام جزئیات لایسنس خود را تأیید کنید. صفحه پروژه‌ها به طور خودکار ظاهر می‌شود تا یک پروژه جدید ایجاد کنید. مانند این:

چگونگی ایجاد new project
چگونگی ایجاد new project

روی New project کلیک کنید تا صفحه زیر را مشاهده کنید:

نحوه ایجاد یک پروژه در یونیتی
نحوه ایجاد یک پروژه در یونیتی
  1. پروژه خود را Space Debris نامگذاری کرده و محل ذخیره آن را در کامپیوتر مشخص کنید.
  2. در بخش Template متوجه خواهید شد که چند حالت دارید. هر کدام برای اینکه در وقت شما صرفه جویی شود، یونیتی را در یک حالتِ پیش فرض و متناسب با خواسته شما، قرار می‌دهد. شما در حال حاضر 3D، را انتخاب کنید.
  3. در بخش Asset packages یا مجموعه پکیج‌ها، شما می‌توانید بسته‌های مشخصی را به پروژه بازی وارد کنید. Assetها منابع بازی هستند یعنی تمام چیزهایی که در بازی وجود دارند مثل صدا، بافت Texture و… . همچنین packages هم، به مجموعه‌ای از Assetها گفته می‌شود که در یک فایل قرار دارند.

به عنوان مثال اگر یک تیراندازِ شخص اول می‌خواهید بسازید، باید از بخش زیر، مجموعه پکیجِ کنترلی شخص اول یونیتی را first-person controller package وارد کنید.

بخش Asset packages
بخش Asset packages

در ضمن شما هر مجموعه پکیجی را هم، در طول بازی سازی می‌توانید وارد محیط بازی کنید. توجه: برای این آموزش، فعلا به این بسته ها نیاز ندارید.

  1. آنالیزگر یونیتی را در حالت خاموش بگذارید.
  2. در آخر هم روی Create project کلیک کنید تا یونیتی، پروژۀ شما را باز کند.

به این ترتیب خیلی راحت اولین پروژه خود را آغاز می‌کنید.

معرفی واسط کاربری Interface در محیط یونیتی

وقتی یونیتی باز شد صفحه‌ای به شکل زیر خواهید دید که واسط کاربری یا Interface یونیتی است:

بخش بندی رابط کاربری Interface در محیط یونیتی
بخش بندی رابط کاربری Interface در محیط یونیتی

صفحه ورود شاید در ابتدا کمی گیج‌کننده باشد اما نگران نباشید، چون این صفحه کاملا قابلیت سفارشی سازی دارد. شما می‌توانید تصمیم بگیرید که می‌خواهید اطلاعات کمی را نمایش دهد یا زیاد.

در گوشه بالا سمت راست، شما ۵ دکمه می‌بینید. اولین از سمت راست را انتخاب کنید. این زبانه، چیدمان یا Layout را مشخص می‌کند. از گزینه‌های در لیست، 2 by 3 را انتخاب کنید.

ویرایشگر شما الان به این شکل خواهد بود:

نمایشگر یونیتی
نمایشگر یونیتی

حالا هر بخش را یک به یک توضیح خواهیم داد، پس به شماره گذاری‌ها دقت کنید:

  1. نمای صحنه Scene View
  2. نمای بازی Game View
  3. پنجره سلسله مراتب Hierarchy Window
  4. پنجره پروژه Project Window
  5. پنجره Inspector
  6. نوار ابزار Toolbar
  7. دکمه های بازی Play Buttons
  8. تنظیمات متفرقه ویرایشگر Miscellaneous Editor Settings

1.   نمای صحنه Scene View در یونیتی

نمای صحنه یا سِن، همان جایی است که شما بازی خود را می‌سازید. در واقع یک پنجره سه بعدی است که شما می‌توانید تمام آبجکت‌ها، مدل‌ها، دوربین‌ها و قطعات دیگری که بازی شما را تشکیل می‌دهند را کنار هم جانمایی کنید و ببینید. یک صحنه معمولا یک سطح Level واحد از بازی شما را نشان می‌دهد.

نمای صحنه Scene View در یونیتی
نمای صحنه Scene View در یونیتی

وقتی بازی خود را در Unity تست می‌کنید، نمای صحنه با حالت فعلی بازی، خود را آپدیت می‌کند. هنگامی که بازی را متوقف می‌کنید، نمای صحنه به حالت اصلی خود بر می‌گردد.

فقط توجه داشته باشید که اگر همزمان با اجرای بازی، تغییری در نمای صحنه، روی بازی اعمال کنید، وقتی بازی متوقف شد، تغییرات هم از بین خواهد رفت.

2.   نمای بازی Game View در یونیتی

نمای بازی، بازی را از زاویه دید بازیکن نشان می‌دهد. اینجا همان جایی است که می‌توانید بازی خود را اجرا کنید و ببینید که همه بخش‌ها و قوانین بازی با یکدیگر چگونه کار می‌کنند.

نمای بازی Game View در یونیتی
نمای بازی Game View در یونیتی

نمای بازی دارای یک انتخابگرِ ابعاد است. این ویژگی به شما کمک می‌کند، ابعاد منظره را متناسب با یک صفحه نمایش خاص، تغییر دهید. به عنوان مثال 4:3، 16:9، 16:10 و… که مطابق با صفحه نمایش یک دستگاه مشخص مثل آی فون یا آی پد و.. باشد.

به این ترتیب اطمینان حاصل می‌کنید که بازی، تمام ابعاد و وضوح تصویری که می‌خواهید را، پوشش می‌دهد و هیچ تصویر یا آبجکت مهمی در تصویر قطع نمی‌شود.

در ضمن شما می‌توانید با استفاده از دکمه Plus در انتهای زبانه کشویی، نسبت ابعاد دلخواه خود را اضافه کنید.

انتخاب نسبت ابعاد دلخواه
انتخاب نسبت ابعاد دلخواه

3. پنجره سلسله مراتب Hierarchy Window در یونیتی

پنجره Hierarchy شامل لیستی از تمام مجموعه‌ها Asset و آبجکت‎های بازی GameObject است که در صحنه Scene شما استفاده شده است. در ضمن با حذف یک آبجکت از پنجره Hierarchy، می‌توانید آبجکت مورد نظر را از صحنه به طور کامل بردارید.

رفته رفته، صحنه شما رشد می‌کند و تعداد آبجکت‎‌هایی آن هم افزایش پیدا می‌کند، در این حالت نوار جستجو Hierarchy که در تصویر زیر می‌بینید، کاربرد فوق العاده بالایی برای شما خواهد داشت.

پنجره سلسله مراتبی Hierarchy Window در یونیتی
پنجره سلسله مراتبی Hierarchy Window در یونیتی

آبجکت بازی یا GameObject در یونیتی چیست؟

به طور ساده، هر  چیزی که در بازی شما است، گیم آبجکت GameObjects نام دارد.

اما در اصل، گیم آبجکت ها اشیاء خالی‌ و خامی هستند که شما با اضافه کردن ویژگی‌هایی با نام کامپوننت Components، آن‌ها را شخصی سازی کرده و به آن‌ها خصوصیت‌های متفاوتی می‌دهید.

گیم آبجکت ‌ها حتی می‌توانند مثل پوشه‌هایی عمل کنند که آبجکت‌های دیگر را در خود دارند. این امر باعث می‌شود صحنه بازی خود را به خوبی سازماندهی کنید که در ادامه، با آن‌ها آشنا خواهید شد.

در ضمن هر صحنه scene جدید از همان ابتدا، با یک دوربین اصلی و نور مستقیم شروع می‌شود که آبجکت بازی محسوب می‌شوند. البته نیازی نیست که آن‌ها را نگه دارید. شما همیشه می‌توانید آن‌ها را حذف کنید و بعدا هر زمان که بخواهید دوباره آن‌ها را به صحنه اضافه کنید.

کامپوننت یا Component در یونیتی چه کاربردی دارد؟

کامپوننت ها به آبجکت‌های بازی اجازه می‌دهند تا در بازی، ویژگی خاصی داشته باشند. مثلا از خود نور منتشر کنند یا به عنوان یک دوربین عمل کنند یا حتی از طریق اسکریپت‌ها، رفتار پیچیده‌تری از خود نشان دهند.

4. پنجره پروژه Project Window در یونیتی چیست؟

پنجره پروژه شامل تمام منابع Asset شما برای بازی است. این بخش را به کمک پوشه‌ها می‌توانید، سازماندهی کنید. همچنین هر چیزی را که خواستید در بازی استفاده کنید، خیلی ساده از پنجره پروژه انتخابش کنید و با درگ به پنجره Hierarchy منتقل کنید. شما حتی می‌توانید آن‌ها را مستقیما از پنجره Project و بدون انتقال به Hierarchy، به درون صحنه درگ کنید.

در ضمن اگر پرونده ها را از رایانه خود به پنجرۀ Project بکشید، یونیتی به طور خودکار آن ها را به عنوان asset شناسایی و وارد می‌کند.

پنجره پروژه Project Window در یونیتی
پنجره پروژه Project Window در یونیتی

یونیتی هر چیزی را در پنجره پروژه باشد، مثل یک فایل OSOperating systems یا سیستم عامل، سازماندهی می‌کند، پس اگر وسوسه شدید که تغییرات را به جای پنجره پروژه، مستقیما در فایل سیستم اعمال کنید، باید بگویم اشتباه بزرگی است چون باعث جدا شدن asset های شما و در نتیجه تکه تکه شدن بازی می‌شود.

در ضمن یونیتی برای هر  asset، متا دیتا نگه می‌دارد. در نتیجه تغییر آن‌ها در بین فولدرهای مختلف، باعث جدا شدن اطلاعات از هم می‌شود. پس اگر نیازمند ایجاد تغییراتی برای سازماندهی ASSET بودید – به خصوص Prefabs (از پیش ساخته شده‌ها) – حتما در پنجره Project آن را اعمال کنید.

پریفب یونیتی Prefabs چیست؟

مفهوم پریفب Prefab در یونیتی، تقریبا شبیه به کلاس در برنامه‌نویسی است به طوریکه ما یک پریفَب اصلی ایجاد می‌کنیم و نمونه‌هایی از آن را در بازی قرار می‌دهیم. حال با تغییر پریفب اصلی، تمامی نمونه‌ها نیز تغییر می‌کنند.

چون هر گیم آبجکتی که در صحنۀ بازی ساخته می‌شود، مختص همان صحنه است و نمی‌توان در صحنه‌هایِ دیگرِ بازی، از آن استفاده کرد. پس ما باید آن را در درون یک پریفب قرار دهیم تا هم آن را در صحنه‌های دیگر استفاده کنیم و هم اگر تغییری در پریفب ایجاد کردیم، روی تمام نمونه‌هایی که از این پریفب در بازی هستند، اعمال شود.

5. پنجره بازرسی Inspector در یونیتی

پنجره اینسپکتور یا بازرسی Inspector خصوصیات هر گیم آبجکت را نمایش می‌دهد، مثل محل قرارگیری، اندازه و… و به ما اجازه اعمال تغییرات در آن را می‌دهد. در حقیقت هر پنجره‌ی Inspector مختص یک شی و تنظیماتِ مخصوص به آن است و این اطلاعات وقتی آن شی مورد نظر را از پنجره Hierarchy انتخاب می‌کنید، دیده می‌شوند.

پنجره Inspector
پنجره Inspector

6. نوار ابزار Toolbar یونیتی

شما از نوار ابزار برای کار با GameObjectهای مختلف در صحنه، استفاده می‌کنید و چون هنگام توسعه بازی خود از این ابزارها زیاد استفاده خواهید کرد، بهتر است به خوبی با آن‌ها آشنا شوید!

از آنجایی که نمی‌توانید در یک صحنه خالی، کارکرد آن‌ها را به خوبی مشاهده کنید، بهتر است در ابتدا، طبق مراحل زیر یک گیم آبجکت مثل مکعبی ساده به صحنه اضافه کنید.

آموزش ساخت اشیا مثل مکعب در محیط یونیتی

برای ساخت اشیا در محیط یونیتی طبق تصویر زیر مراحل را یکی پس از دیگری پیش برید. در این مثال، یک مکعب خواهید ساخت:

مراحل ایجاد یک مکعب در محیط یونیتی
مراحل ایجاد یک مکعب در محیط یونیتی
  1. از منوی یونیتی، تب GameObject را باز کنید
  2. از لیست 3D Object را انتخاب کنید
  3. از لیستِ اشیا موجود روی Cube کلیک کنید

با بررسی این لیست در نوار ابزار، می توانید به شناخت خوبی در مورد آبجکت‌ها برسید.

توجه: اگر هنگام آزمایش کردنِ گزینه‌ها، Cube را گم کردید، فقط کافیست در Hierarchy بر روی Cube دو بار کلیک کنید تا این مکعب را در نمای صحنه ببینید.

نحوه کار با ابزار Hand در نوار ابزار یونیتی

ابزار Hand ابزار مفیدی است که ویژگی‌های مختلفی دارد. اول ابزار Hand را انتخاب کنید سپس با ماوس، مکعب را بگیرید و حرکت دهید.

نحوه استفاده از ابزار hand در یونیتی
نحوه استفاده از ابزار hand در یونیتی unity

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

بعد، Ctrl (یا Cmd) و Alt (یا Option) را نگه دارید. راست کلیک کرده و ماوس را به سمت بالا و پایین حرکت دهید تا در صحنه بزرگنمایی zoom ایجاد شود.

حرکت ماوس به پایین زوم می‌شود. یا اگر می‌خواهید این کار را به راحتی انجام دهید، فقط کافیست اسکرول ماوس را بچرخانید.

زوم کردن در محیط موتور بازی سازی یونیتی

در آخر، دکمه سمت راست ماوس را نگه دارید و از کلیدهای W-A-S-D کیبورد خود استفاده کنید تا در اطراف صحنه، مثل یک تیرانداز شخص اول حرکت کنید.

به همین ترتیب، با فشار دادن E یا Q می‌توانید آهسته‌تر به بالا و پایین حرکت کنید. اما برای حرکت سریعتر، کلید Shift را باید نگه دارید.

کلید میانبر ابزار Hand چیست؟

کلید میانبر پیش فرض برای ابزار Hand دکمه Q است. اما برای تغییر سریع به ابزار Hand، می‌توانید اسکرول ماوس را فشار دهید تا نشانگر ماوس تبدیل به دست شود. وقتی هم که اسکرول را رها کردید، ماوس به شکل ابزار قبلی که در حال استفاده از آن بودید، باز خواهد گشت.

نحوه کار با ابزار Translate در نوار ابزار یونیتی

با ابزار جا به جایی یا Translate، شما می‌توانید یک GameObject را در صحنه انتخاب و جا به جا کنید. کلید میانبر پیش فرض برای ابزار جابه جایی، W است.

گیزمو Gizmo در محیط یونیتی به چه معناست؟

در نظر داشته باشید که وقتی شما یک آبجکت را انتخاب می‌کنید و ابزار جابه‌جایی هم فعال است؛ از مرکز آن شی، سه فلش رنگی به جهتِ بیرون دیده می‌شوند. این سه فلش رنگی در یونیتی با نام gizmo شناخته می‌شوند. این فلش‌ها محورهای سه بعدی شی را نشان می دهند: محور x فلش قرمز است، محور y فلش سبز است و محور z فلش آبی است. گیزمو اطلاعاتِ سه بعدیِ یک آبجکت را ارائه می‌دهد.

نحوه کار با ابزار Translate در نوار ابزار یونیتی

در این تصویر، Gizmo جهت هر محور را نشان می‌دهد. اما وقتی اطلاعات بیشتر در مورد یونیتی به دست آورید، می‌توانید ویژگی‌های دلخواهی به گیزمو اضافه کنید تا مواردی مانند محل قرارگیری دوربین‌ها یا حتی جهت باد را به شما نشان دهد.

نکته جالب در مورد Gizmo این است که فقط در صحنه، نمایش داده می‌شود و در مواقعی که دیگر نیازی به آن‌ها ندارید، می‌توانید خاموششان کنید.

حرکت دادن آبجکت در یونیتی توسط ابزار Translate به 2 روش زیر

دو روش‌ برای جابه‌جا کردن آبجکت، توسط ابزار Translate وجود دارد.

۱. جابه جایی آبجکت با محورها

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

به عنوان مثال اگر محور y را انتخاب کنید و یک شی را در حالی که در جهت طبیعی قرار دارد جابجا کنید، جسم شما فقط می‌تواند به بالا یا پایین حرکت کند.

نمای کامل از سه محور و سه سطحی که می‌توانید برای حرکت GameObject انتخاب کنید
نمای کامل از سه محور و سه سطحی که می‌توانید برای حرکت GameObject انتخاب کنید
۲. جابه جایی آبجکت با صفحه ‌ها

شما همچنین، سه صفحۀ رنگی در مرکز GameObject می‌بینید که به شما اجازه می‌دهد، آبجکت را در دو محور حرکت دهید. رنگ مربع نشانگر آن است که در چه صفحه‌ای حرکت می کند. به عنوان مثال، مربع سبز به معنای آن است که می‌توانید یک جسم را در صفحه y حرکت دهید (این بدان معنی است که می تواند روی محورهای x و z حرکت کند).

جا به جایی آبجکت با صفحه ها در یونیتی

چرخاندن آبجکت در یونیتی با ابزار Rotate

با ابزار چرخش Rotate Tool، شما می‌توانید اشیاء را بچرخانید.

هنگام انتخاب یک شیء برای چرخش، متوجه سه خط رنگی کروی خواهید شد. این خطوط نشانگر محوری هستند که چرخش حول آن اتفاق می‌افتد. به سادگی خط را انتخاب کنید و ماوس خود را بکشید تا GameObject بچرخد.

برای اینکه بتوانید شی را راحت و بدون محدودیت محورها، در هر سمتی بچرخانید؛ فقط کافیست فضای بین خطوط را انتخاب کرده و ماوس خود را حرکت دهید.

کلید میانبر پیش فرض برای چرخش، E است.

یکی از خطوط رنگی را انتخاب کنید تا جسم را حول همان محور بچرخانید
یکی از خطوط رنگی را انتخاب کنید تا جسم را حول همان محور بچرخانید

نحوه کار با ابزار Scale در نوار ابزار یونیتی

با ابزار مقیاس Scale شما می‌توانید، جسم خود را در امتداد یک یا هر سه محور، کوچک و بزرگ کنید. کلید میانبر پیش فرض برای ابزار مقیاس، R است.

برای تغییر مقیاس شی در امتداد یک محور، آبجکت را انتخاب کنید و سپس مربع انتهای محور را بکشید. آبجکت در امتداد آن محور مقیاس خواهد گرفت. برای مقیاس دادن به کل آبجکت، نقطه مرکزی GameObject را انتخاب کنید و ماوس را به جلو یا عقب بکشید تا آبجکت را به آرامی کوچک یا بزرگ شود.

نحوه کار با ابزار Scale در نوار ابزار یونیتی
برای مقیاس دادن به شی در یک محور، آن محور را انتخاب کنید و اگر خواستید کلِ شی به طور متناسب مقیاس بگیرد، مکعب مرکزی را انتخاب کنید.

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

شاید فکر کنید که کلید میانبر R باید برای Rotate و S برای Scale باشد. اما اگر به بالا و سمت چپ صفحه کیبورد خود نگاه کنید متوجه می‌شوید که دلیل انتخاب این کلیدهای میانبر، دسترسی آسان به آن‌هاست.

یونیتی با فرض اینکه شما با دست راست از ماوس استفاده می‌کنید و با دست چپ با صفحه کلید کار می‌کنید چنین انتخابی کرده است. اگر دقت کنید انگشتان دست چپ شما در حالت عادی بر روی کلیدهای A-S-D-F قرار می‌گیرند که برای حرکت در صفحه یونیتی است و کلیدهای میانبر نوار ابزار Q-W-E-R-T هم دقیقا بالای همین‌ کلیدها قرار دارند.

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

اگر بعضی مواقع به اشتباه، به جای کلید W بر روی کلید 2 زدید و ویرایشگر به حالت 2D و شکل زیر درامد، خیلی ساده دوباره کلید 2 را فشار دهید تا ویرایشگر دوباره به حالت قبل یعنی 3D برگردد.

در 2D اشیا عمق خود را از دست می‌دهند
در 2D اشیا عمق خود را از دست می‌دهند

نحوه کار با ابزار Rect در نوار ابزار یونیتی

ابزار Rect بیشتر در آبجکت‌های دو بعدی و آبجکت‌های (User Interface (UI بازی استفاده می‌شود ، اگرچه می‌توانید از آن در GameObjects سه بعدی هم استفاده کنید.

این ابزار می‌تواند Assetهای دو بعدی را تغییر اندازه، مقیاس و چرخش دهد و همچنین نقطه محوری Pivot Point را که نقطه مرکزیِ چرخش برای جسم است، مجددا تنظیم کند. نقطه محوری توسط یک دایره بزرگ روی Asset نشان داده می‌شود.

کلید میان بر این ابزار T است.

نحوه کار با ابزار Rect در نوار ابزار یونیتی

نحوه کار با ابزار Transform در نوار ابزار یونیتی

ابزار Transform در واقع ابزارهای مقیاس، چرخش و تغییر مکان را در یک ابزار واحد، با هم ترکیب کرده است. در نتیجه با این ابزار شما بدون سوئیچ کردن بین کلیدهای مختلف هر کاری می‌توانید انجام دهید.

دوره‌های مرتبط در فرانش

تفاوت حالت Center و Pivot در محیط یونیتی چیست؟

در محیط یونیتی وقتی حالت روی Center است، اگر شما دو آبجکت انتخاب کنید، گیزمو در وسط دو آبجکت قرار می‌گیرد. در نتیجه هنگام چرخشِ آبجکت‌ها، آن‌ها با هم و به دور مرکز گیزمو می‌چرخند.

ولی حالت Pivot انتخاب شود؛ همانطور که در تصویر زیر می‌بینید، هر آبجکت دور نقطه pivot خود می‌چرخد:

تفاوت حالت Center و Pivot در محیط یونیتی چیست؟

تفاوت حالت جهانی Global و محلی Local در محیط یونیتی چیست؟
حالت Global یا جهانی

در این حالت؛ شما آبجکت خود را با توجه به محیط اطراف بررسی می‌کنید و به این ترتیب محورx  از چپ به راست، محور y بالا و پایین و محور z طبق معمول به جلو و عقب می‌رود.

حالت Local یا محلی

در این حالت؛ تغییرات از سیستم مختصات خود ابجکت تبعیت می‌کنند و محورها تغییر می‌کنند تا با آبجکت منطبق باشند.

7.  دکمه‌های بازی Play Buttons

دکمه‌های بازی به شما اجازه شروع و توقف بازی را می‌دهند.

دکمه Play در بازی

پلی اولین دکمه است. وقتی Play را زدید، دکمه‌ها آبی می‌شوند به این معنا که بازی شروع شده و در حال اجرا است.

همچنین رنگ ظاهر رابط یونیتی، تیره‌تر می‌شود که نشان می‌دهد بازی فعال است.

ویرایشگر در هنگام ساخت بازی به رنگ روشن است. در تصویر پایین با رنگ تیره‌تر، بازی در حال اجرا و play است
ویرایشگر در هنگام ساخت بازی به رنگ روشن است. در تصویر پایین با رنگ تیره‌تر، بازی در حال اجرا و play است

چرا در هنگام اجرای بازی، رنگ رابط کاربری یونیتی تیره‌تر می‌شود؟

تیره شدن interface دقیقا برای این منظور است که به شما یادآور شود؛ نباید در حین اجرای بازی تغییری اعمال کنید. همانطور که قبلا هم گفتیم، هر تغییر در زمانی که بازی در حال اجراست، وقتی بازی متوقف شد از دست می‌رود. این یک اشتباه رایج بین تازه کاران یونیتی است چون اغلب ترجیح می‌دهند بازی را راه اندازی کنند و همزمان تغییراتی هم اعمال کنند -که همه وقتی بازی Stop شد، ناپدید می‌شوند.

هرچند رنگ طوسیِ تیره خیلی واضح این اخطار را نمی‌رساند، اما خوشبختانه خودتان می‌توانید این رنگ را تغییر دهید.

فقط کافیست مراحل زیر را طی کنید:

  1. اول Edit را انتخاب کنید و سپس Preferences تا پنجره زیر باز شود
  2. Colors را انتخاب کنید تا یک لیست از رنگ‌ها را ببینید. به این وسیله می‌توانید به دلخواه رنگ رابط کاربری خود را تغییر دهید.
  3. بخش Playmode رنگ رابط کاربری در زمان تیره شدن حین بازی را نشان می‌دهد.
playmode tint
playmode tint

شما هر رنگی را می‌توانید انتخاب کنید.

دکمه Use Defaults
دکمه Use Defaults

و اگر خواستید رنگ صفحه را به حالت قبلی برگردانید، کافیست بر دکمه Use Defaults کلیک کنید.

دکمه توقف Pause در بازی

دکمه Pause بازی را متوقف می‌کند و به شما اجازه اعمال تغییرات می‌دهد. اما باید توجه داشته باشید که در این حالت هم اعمال هر تغییری بر GameObjects  بعد از stop بازی از بین می‌رود.

ویرایش GameObjects هنگام Play و Pause، یک تقلب است که به شما اجازه می دهد بدون ایجاد یک تغییر دائمی، روی بازی خود آزمایش کنید.

دکمه بعدی Step در بازی

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

8.  تنظیمات متفرقه ویرایشگر Miscellaneous Editor Settings

این تنظیمات، جنبه‌های مختلف ویرایشگر را بررسی می‌کند.

Collab در یونیتی چیست؟

اولین دکمه متفرقه، کشویی Collab است که در سمت راست نوار ابزار دیده می‌شود.

دکمه Collab
دکمه Collab

Collab یکی از آخرین خدمات یونیتی به تیم‌های بزرگ است که کمک می‌کند تا در یک پروژه واحد، به طور یکپارچه، با هم همکاری کنند.

Services در یونیتی چه کاربردی دارد؟

دکمه بعدی دکمه خدمات Services است. خدمات بخشی است که می‌توانید خدمات اضافی Unity را به بازی اضافه کنید. با کلیک بر روی دکمه باید یک Unity Project ID ایجاد کنید.

دکمه خدمات Services
دکمه خدمات Services

پس از اضافه کردن Project ID، می‌توانید خدمات را به پروژه خود اضافه کنید.

خدمات متفرقه یونیتی چیست؟
  • تجزیه و تحلیل Analytics
  • تبلیغات درون بازی In-Game Ads
  • پشتیبانی بازی چند نفرهMultiplayer Support
  • خرید درون برنامه In-App Purchasing
  • گزارش عملکرد Performance Reporting
  • همکاری Collaborate

شما می‌توانید اعضای تیم را به پروژه اضافه کنید، محدودیت‌های سنی را تعیین کنید و حتی برخی از تنظیمات مهم پروژه را تغییر دهید.

Account در یونیتی

دکمه بعدی حساب کاربری است. این اکانت به شما اجازه می‌دهد تا حساب Unity خود را مشاهده و مدیریت کنید. وارد و خارج شوید و به روز بمانید.

Layers لایه های بازی در یونیتی

دکمه چهارم Layers لایه های بازی هستند.

دکمه layers
دکمه layers

شما می‌توانید از لایه‌ها برای جلوگیری از رندر برخی آبجکت ها و… استفاده کنید.

Layouts چیدمان در یونیتی

دکمه آخر چیدمان یا Layouts است.

با دکمه Layouts یا طرح بندی نماها Views، شما می‌توانید ویووهای ویرایشگر خود را به طرح دلخواه بچینید، ذخیره کنید و بین آن‌ها جابجا شوید. یونیتی به طرز شگفت آوری قابل تنظیم و شخصی سازی  Customizable است.

هر یک از نماهای مختلف قابلیت تغییر اندازه، جابجایی و حتی حذف کامل از ویرایشگر را دارند.

Layouts
Layouts

البته شما همیشه می‌توانید ویووهایی را که حذف کرده‌اید دوباره به صفحه اضافه کنید. این امکان به شما کمک می‌کند ویرایشگر را برای یک کار خاص تنظیم کنید.

به عنوان مثال، ممکن است شما بخواهید هنگام کار با یک انیمیشن، نمای Game را باز نکنید، اما ترجیح می‌دهید که ویووی انیماتور و انیمیشن را کنار هم باز کنید.

نحوه تنظیم چیدمان و پنجره‌ها در محیط یونیتی

تنظیم مجدد و هر باره‌ی پنجره‌ها برای کار خاصی که انجام می‌دهید، بعد از مدتی خسته کننده خواهد بود.

یونیتی شما را قادر می‌سازد طرح بندی‌های خود را ذخیره کنید و هر زمان که بخواهید از طریق دکمه Layouts به آن تغییر حالت دهید.

برای این کار به راحتی می‌توانید با استفاده از منوی Window یک پنجره جدید باز کنید.

نحوه تنظیم چیدمان و پنجره‌ها
نحوه تنظیم چیدمان و پنجره‌ها

چیدمان را می توان با استفاده از دکمه Layout ذخیره و فراخوانی کرد. البته خود یونیتی چند طرح از پیش تعریف شده مانند طرح های 2 در 3 و طرح بندی گسترده  Wide دارد. گزینه Window از منوبار لیستی از نمایش‌هایی را ارائه می‌دهد که می‌توانید به ویرایشگر خود اضافه کنید.

تا اینجای مقاله شما با بخش‌ها و ابزارهای مختلف یونیتی آشنا شدید و در ادامه مقاله قرار است، با استفاده از همین اطلاعات، اولین بازی ساده خود را در یونیتی بسازید تا به درک عمیق‌تری نسبت به امکانات و تکنیک‌های یونیتی برسید.

 

در این دوره آموزشی به صورت گام‌به‌گام و از صفر ساخت بازی موبایل با یونیتی را در ساختار دو بعدی آموزش می‌بینید:

بازی‌سازی دو بعدی موبایل با یونیتی

آموزش پروژه محور یونیتی با ساخت بازی سفینه فضایی شوتر

ابتدا فایل ضمیمه برای این آموزش را اگر هنوز دانلود نکرده‌اید از اینجا دانلود کنید. چون قرار است شما با Assetهای از پیش ساخته شده، یک بازی تیراندازی بسازید.

فایل ضمیمه شامل چهار پوشه زیر است:

  • game assets
  • models
  • starter project
  • final project

نحوه باز کردن یک پروژه جدید در یونیتی

شما هم می‌توانید روی صفحه‌ای که از قبل باز کرده بودید کار کنید، یا از مسیر زیر، فولدر starter project را باز کنید:

File  و بعد Open Project سپس انتخاب فولدر Space Debris Starter project

سپس در سیستم خود از پوشه Space Debris، فولدر  game assets را باز کنید و تمام فایل‌های داخلش را با درگ، به داخل فولدر Assets که در پنجره Project  است، بیاندازید.

چگونگی ایجاد یک پروژه جدید در یونیتی
چگونگی ایجاد یک پروژه جدید در یونیتی

اگر شما پنجره پروژه Project window را نمی‌بینید، این مسیر را طی کنید:

Window / Layouts / 2 by 3

وقتی که تمام فایل‌ها به یونیتی وارد import شدند، شما صفحه زیر را می‌بینید:

صفحه project
صفحه project

نحوه تغییر سایز آیکون ‌ها در یونیتی

همانطور که در تصویر بالا می‌بینید یونیتی به طور پیش فرض آیکون ‌ها را در سایز بزرگ نشان می‌دهد. اما اگر شما حالت لیستی را ترجیح می‌دهید، از زبانه‌ای‌ که زیر صفحه Project و سمت راست قرار دارد استفاده کنید، تا به سایز مورد نظر thumbnails برسید.

تغییر سایز آیکون‌ها در یونیتی
تغییر سایز آیکون‌ها در یونیتی

با اینکه که نگه داشتن تمام Assets شما در یک پوشه مناسب به نظر می‌رسد، اما باعث بی نظمی هم می‌شود. البته این موضوع در شروع پروژه، مشکل بزرگی به نظر نمی‌رسد، اما با گسترش پروژه، شما کلکسیونی از Assets خواهید داشت.

نحوه سازماندهی منابع بازی Assets در یونیتی

با سازماندهی Assetهای خود از قبل، وقت کمتری را برای جستجوی آن‌ها صرف خواهید کرد و زمان بیشتری برای ساخت بازی خواهید داشت. به همین دلیل قدم بعدی شما پوشه بندی Assets است.

در پنجره Project، روی دکمه Create کلیک کرده و از لیست گزینه‌ها Folder را انتخاب کنید.

سازماندهی منابع بازی Assets در یونیتی
سازماندهی منابع بازی Assets در یونیتی

پوشه جدیدی که ایجاد شد را Materials نامگذاری کنید تا تصویر زیر را ببینید:

پوشه ی Materials
پوشه ی Materials

سپس پنج فولدر زیر را هم، به روش فوق بسازید تا بقیه منابع Assets خود را سازماندهی کنید.

  • Models
  • Prefabs
  • Scripts
  • Sounds
  • Textures

اسکریپت‌های زیر را بگیرید و با درگ داخل فولدر Scripts منتقل کنید:

Bullet, Debris, GameManager, IonCannon, RendererFade, ScreenWrap and ShipController

در مرحله بعد فایل‌های زیر را انتخاب کنید و به فولدر Sounds منتقل کنید:

background-music, explosion and shoot

در نهایت هم بافت flint_like_rock_4787 را انتخاب کرده و به فولدر Textures ببرید.

دراین حالت پنجره پروژه شما به شکل زیر خواهد شد:

صفحه project در یونیتی
صفحه project در یونیتی

چند نکته مهم در سازماندهی Assets

  • فولدرها در داخل یونیتی مثل همان شکلی که در سیستم‌تان هستند رفتار می‌کنند. شما می‌توانید در یونیتی زیر پوشه بسازید یا پوشه‌ها را داخل هم بکشید و خیالتان راحت باشد که دقیقا همین اتفاق در پوشه‌های کامپیوترتان هم رخ داده است. این دو با هم هماهنگ Match هستند تا کار برای شما در پیدا کردن assets، خارج از یونیتی آسان باشد.
  • می‌ببینید که آیکن GameManager متفاوت از آیکن بقیه اسکریپت‌ها است. بیشتر بازی‌ها آبجکتی به نام GameManager دارند که به عنوان “مغز” کل بازی عمل می کند و یونیتی هم یک نماد ویژه برای آن ایجاد کرده است.

  • البته GameManager هم یک اسکریپت مثل بقیه موارد است اما تفاوت نماد به شما کمک می‌کند که این آبجکت مهم را سریعتر تشخیص دهید، چون اغلب به آن نیاز خواهید داشت.

نحوه ذخیره سازی پروژه در یونیتی و اهمیت آن

بعد از این مرحله شاید سریعا بخواهید بازی سازی را شروع کنید اما قبل از هر چیزی حتما باید پروژه خود را ذخیره کنید و این را به یک عادت در کار با یونیتی برای خود تبدیل کنید؛ چون یونیتی ویژگی ذخیره خودکار Autosave  ندارد. اگر نرم‌افزار هنگ کرد یا برق شما قطع شود شما به جز سازماندهی پروژه، همه چیز خود را از دست خواهید.

یونیتی کار شما را در صحنه‌ها scenes ذخیره می‌کند. یک صحنه می‌تواند فقط یک سطح level از بازی شما باشد، یا می‌تواند تنها سطح در کل بازیِ شما باشد.

در این آموزش فقط از یک صحنه برای همه چیز استفاده خواهید کرد.

از کیبورد Ctrl+S را انتخاب کنید تا بازی ذخیره شود. یک پیام ذخیره در ویندوز باز می‌شود. این صحنه scene را Main نامگذاری کنید.

نحوه ذخیره save کردن پروژه در یونیتی
نحوه ذخیره کردن پروژه در یونیتی

آموزش وارد کردن مدل به پروژه بازی سفینه فضایی شوتر در یونیتی

بازی بدون بازیکن نمی‌شود. از داخل فولدر اصلی که دانلود کرده‌اید، وارد بخش Models  و بعد Player شوید. یک فایل با فرمت FBX و چند عکس می‌بینید.

فایل FBX حاوی همه اطلاعاتی است که برای ساخت یک مدل 3D، در کنار باقیه موارد مثل انیمیشن‌ها مورد نیاز است. فایل بازیکنی که شما در این آموزش استفاده خواهید کرد متعلق به ComboMash برای بازی Hextraction است.

همه فایل‌ها در پوشه Player را انتخاب کنید و با درگ، آن‌ها را به بالای فولدر  Assets منتقل کنید. به این ترتیب در  پنجره پروژه خود این پیام را می‌بینید:

وارد کردن مدل به پروژه بازی سفینه فضای شوتر
وارد کردن مدل به پروژه بازی سفینه فضای شوتر

نقشه نرمال Normal Map در یونیتی چیست؟

برخی از فایل‌های تصویری اطلاعات اضافه‌ای به Unity منتقل می‌کنند، اما در قالب یک تصویر استاندارد ذخیره می‌شوند. در این مورد، p_pod_normal.jpg عمق یک سطح را مشخص می‌کند و اطلاعات روشنایی سطح را بدون نیاز به ایجاد ساختاری اضافه، برای ما فراهم می‌کند. به این، یک نقشه نرمال Normal Map گفته می‌شود.

با دیدن پیام بالا روی گزینه Fix Now کلیک کنید تا به یونیتی بگویید، با این فایل مثل یک  Normal Map برخورد کند.

چه چیزی به همراه مدل وارد محیط یونیتی می‌شود؟

به طور پیش فرض یونیتی، دوربین‌ها را هم همراه مدل شما به صحنه وارد خواهد کرد. اما در این بازی، شما فقط به یک دوربین نیاز دارید که همان دوربین اصلی است. پس hextraction_pod را در پنجره Project انتخاب کنید و در پنجره Inspector مطمئن شوید که تَب Model انتخاب شده است. سپس تیک Import Cameras را بردارید.

پنجره Inspector
پنجره Inspector

وقتی تمام شد روی دکمه Apply کلیک کنید.

سپس به همراه فایل‌های player که داخل کرده‌اید، hextraction_pod را هم از پنجره پروژه بگیرید و با درگ به صحنه بیاورید.

به این ترتیب شما اولین نمونه از مدل خود را ساختید و یونیتی هم به طرز صحیحی بافت را وارد و روی مدل اعمال کرده است. اگر به Hierarchy هم دقت کنید، در لیست خود GameObject جدید را نشان می‌دهد.

کار با آبجکت های بازی GameObjects در یونیتی

همانطور که پیش‌تر هم گفتیم، هر چیزی که در  Hierarchy است نوعی GameObject محسوب می‌شود. هر گیم آبجکت، موقعیت و اطلاعاتی دارد که به آن Transform گفته می‌شود و شامل اطلاعاتی مثل موقعیت Position، مقیاس Scale، چرخش Rotation  و .. است.

اطلاعات آبجکت های بازی GameObjects
اطلاعات آبجکت های بازی GameObjects

ارتباط GameObject و Components در یونیتی

شما می‌توانید با اضافه کردن Components به آبجکت‌های بازی، آن‌ها را به شکل دلخواه خود تغییر دهید. قبلا هم گفتیم که Components، رفتار و ظاهر آبجکت‌های شما را مشخص می‌کنند.

به عنوان مثال؛ شما می‌توانید از component نور استفاده کنید تا آبجکت شما بدرخشد و از خود نور ساطع کند. یا حتی می‌توانید با Audio Source آبجکت خود را صدادار کنید.

شما با نوشتن اسکریپت‌، ویژگی‌های خاص مدنظرتان را می‌توانید به آبجکت‌ها اضافه کنید.

GameObject ها مانند یک ظرف خالی هم عمل می‌کنند. اگر Alt را نگه دارید و همزمان روی مثلث کنار  hextraction_pod در Hierarchy کلیک کنید، خواهید دید که زیرمجموعه‌های زیادی زیر GameObject باز می‌شود.

زیر مجموعه های GameObject گیم آبجکت در یونیتی
زیر مجموعه های گیم آبجکت در یونیتی

ملاحظه می‌کنید که برخی از این آبجکت‌ها آبی و برخی سیاه هستند.

رنگ سیاه یعنی گیم آبجکت استاندارد است و رنگ آبی نشان می‌دهد که این آبجکت، نمونه‌ای برای یک مدل است یا با یک Prefab به آبجکت‌های دیگر وصل شده است.

کار با Prefabs در یونیتی به چه شکل است؟

در کل شما نباید از نمونه‌های کپی Model استفاده کنید. بلکه بهتر است از Prefabs استفاده کنید. Prefabs به شما این امکان را می‌دهد که GameObjects را ذخیره کنید و سپس هم با کد نوشتن یا با درگ کردن به صحنه، آن‌ها را سریع و ساده کپی کنید.

هر کپی از Prefabs به هم مرتبط هستند به همین دلیل وقتی شما یک Prefab را تغییر ‌دهید، همه نمونه‌ای کپی شده از آن هم تغییر می‌کنند.

وقتی که شما روی یک کپی از Prefab در صحنه خود تغییراتی ایجاد می‌کنید و از این تغییرات راضی هستید، شاید بخواهید این تغییرات در بقیه نمونه‌های آن Prefab هم اعمال شود یا حتی بخواهید تمام تغییرات حذف شده و این نمونه از Prefab به حالت اصلی و اورجینال خود برگردد خبر خوب اینکه هر دو ممکن است.

نحوه ایجاد یک Prefab در یونیتی

برای ایجاد یک Prefab، یک آبجکت از Hierarchy انتخاب و به داخل پنجره پروژه درگ کنید.

نحوه ایجاد یک Prefab
نحوه ایجاد یک Prefab

وقتی با پیام زیر روبه رو شدید که آیا می‌خواهید یک Prefab جدید بسازید یا نوعی از یک Prefab، چون شما Prefab ندارید، جدید را انتخاب کنید.

نحوه ایجاد یک Prefab جدید
نحوه ایجاد یک Prefab جدید

از Hierarchy گزینه  hextraction_pod را انتخاب کنید. در پنجره Inspector دو دکمه Open و Select دیده می‌شود. همپنین یک زبانه کشویی با نام Overrides موجود است.

پنجره Inspector
پنجره Inspector

Open به شما کمک می‌کند Prefab را باز و ویرایش کنید و فقط به شما اجازه کار روی همان Prefab را می‌دهد.Hierarchy  فقط Prefabهای انتخاب شده را نمایش خواهد داد. برای برگشتن به حالت ویرایشگر نرمال، فلش بالای Hierarchy را بزنید.

Select باعث می‌شود Prefab در پنجره پروژه جانمایی شود. این گزینه وقتی شما جای Prefab خود را در پنجره پروژه بین فولدرهای زیاد گم کردید بسیار مفید خواهد بود.

وقتی شما تغییراتی در Prefab اعمال می‌کنید، شما تغییر را در یک نمونه واحد از  Prefab ایجاد می کنید و این یعنی شما در حال Override بخش‌های یک Prefab هستید. شما می‌توانید این تغییرات را به دیگر Prefabها هم اعمال کنید یا تغییرات را باRevert  برگردانید. این اتفاقات با زدن دکمه کشوییOverrides  رخ می‌دهد.

نحوه ویرایش Prefab ها چگونه است؟

در حال حاضر، زیر سفینه بازیکن یک شبکه هست که عجیب به نظر می‌رسد. پس اول باید این Prefab را ویرایش کنید.

Prefab را انتخاب کنید و بعد در پنجره Inspector، روی Open کلیک کنید. سپس آبجکت tile_reference از Hierarchy را انتخاب کنید. این مورد یک زیرمجموعه مستقیم از آبجکت hextraction_pod است.

شبکه را با دکمه Delete پاک کنید و بعد فلش رویHierarchy را بزنید تا از ویرایشگر Prefab خارج شوید. پیام درخواست ذخیره ظاهر می‌شود که حتما Save را بزنید.

نحوه ویرایش Prefab ها
نحوه ویرایش Prefab ها

سپس روی hextraction_pod در پنجره Hierarchy راست کلیک کنید و با انتخاب Rename ، نام آبجکت را به Spaceship تغییر دهید.

پنجره Hierarchy
پنجره Hierarchy

بدون اینکه کاری انجام دهید؛ تنها درگ کردن یک آبجکت به پنجره Project، آن را به یک Prefab تبدیل می‌کند. شما می‌توانید هرچقدر که بخواهید، با درگ کردن Prefab سفینه فضایی از پنجره Project به صحنه، از آن کپی بسازید.

در حال حاضر، این حرکت فقط مدل‌ها را کپی می‌کند اما بعدها می‌توانید اسکریپت‌ها، تنظیمات صدا و … را هم کپی کنید. همانطور که ملاحظه می‌کنید Prefab ها واقعا پرکاربرد هستند.

نحوه ویرایش Prefab ها در یونیتی چگونه است؟

تنظیمات دوربین در یونیتی چگونه است؟

کار با دوربین در یونیتی از مراحل مهم است. یک سفینه فضایی وقتی نتواند حرکت کند به درد نمی‌خورد. در این بخش شما کنترل سفینه را به دست بازیکن خواهید داد.

برای این کار شما باید با دو موضوع رو به رو شوید. 1. دوربین‌ها 2. سیستم فیزیکی.

تنظیم سفینه فضایی در محیط یونیتی

سفینه را طی مراحل زیر تنظیم کنید:

  1. Spaceship را از پنجره Hierarchy  انتخاب کنید
  2. به کمک پنجره Inspector موقعیت Position آن را با مختصات زیر تنظیم کنید X:10.66, Y:1.99, Z:10
  3. چرخش Rotation را هم در X:270, Y:0, Z:0 تنظیم کنید

اندازه‌ها را در پنجره Inspector به شکل زیر خواهید دید:

پنجره Inspector
پنجره Inspector

البته انتخاب اعداد به شکل رندوم هستند.

به نمای Game نگاه کنید، متوجه می‌شوید که سفینه کمی به دوربین نزدیک است.

دو راه وجود دارد تا این موضوع را اصلاح کنید. هم می‌توانید سفینه را به عقب جابه‌جا کنید یا جای دوربین را تغییر دهید.

از Hierarchy دوربین اصلی را به نام Main Camera انتخاب کنید. در Inspector کامپوننت دوربین را خواهید دید که کمک می‌کند اندازه‌های آن را تغییر دهید. با اینکه گزینه‌ها بسیار زیاد هستند اما شما فعلا تنها با تصویر Projection و زاویه دید Field of View سروکار دارید.

شما می‌توانید پرسپکتیو Perspective  یا اورتوگرافی Orthographic  در پروجکشن انتخاب کنید که نشان‌دهنده ظاهر بازی شما است.

آموزش کار با دوربین در یونیتی و تفاوت دو حالت Perspective و Orthographic

در کار با دوربین یونیتی باید بدانید که حالت پرسپکتیو، مانند چشم انسان عمل می‌کند. هر چه اجسام به چشم شما نزدیک باشند، بزرگتر دیده می‌شوند. در حالت اورتوگرافیک، عمق در نظر گرفته نمی‌شود. اجسام هر جایی و در هر فاصله‌ای نسبت به دوربین باشند، در سایز یکسان دیده می‌شوند.

تفاوت دو حالت Perspective و Orthographic در دوربین
تفاوت دو حالت Perspective و Orthographic در دوربین – دو مکعب در سمت چپ به شکل پرسپکتیو دیده می‌شوند و دو مکعب سمت راست در حالت اورتوگرافی دیده می‌شوند.

به طور کلی بازی‌های سه بعدی باید حالت پرسپکتیو را انتخاب کنند و بازی‌های دو بعدی باید حالت اورتوگرافی را فعال کنند.

اگر بازی شما دوبعدی است اما المان‌های سه بعدی در اختیار دارید، پروجکشن را حتما در حالت ارتوگرافیک بگذارید.

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

سایز را بر 18.85 تنظیم کنید. در این حالت، Game view به این شکل خواهد بود:

Game view
Game view

سفینه فضایی باید پرواز کند و برای اینکار شما باید در C# کد نویسی کنید اما در این آموزش از اسکریپت‌های آماده استفاده می‌کنیم.

اما سوال مهم این است که چگونه این اسکریپت‌ها به سفینه اضافه می‌شوند؟

اضافه کردن اسکریپت حرکت کاراکتر در یونیتی برای بازی سفینه فضایی

یک اسکریپت به طور خیلی ساده، نوعی کامپوننت است و راه‌های خیلی زیادی برای اضافه کردن کامپوننت به آبجکت‌های بازی وجود دارد. شما تعدادی از این متدها را در این آموزش تجربه خواهید کرد.

ابتدا از Hierarchy سفینه فضایی را با نام Spaceship انتخاب کنید. سپس از منو بار، گزینه Component را انتخاب کنید. در پایین شما گزینه‌ای تحت عنوان Scripts می‌بینید که خود هم شامل لیستی از اسکریپت‌های موجود است. اسکریپت Ship Controller را انتخاب کنید.

اضافه کردن اسکریپت به آبجکت در یونیتی
اضافه کردن اسکریپت به آبجکت در یونیتی

الان اگر پنجره Inspector را چک کنید، می‌بینید که اسکریپت Ship Controller به عنوان یک کامپوننت از نوع اسکریپت، به آبجکت سفینه فضایی اضافه شده است.

دقیقا مثل بقیه کامپوننت‌ها، شما می‌توانید ویژگی‌ها و اندازه‌های مورد نظر خود را از بخش ویرایشگر مشخص کنید. این موضوع به شما اجازه می‌دهد بر اسکریپت‌های خود، در حالیکه بازی شما در جریان است، تغییر ایجاد کنید.

در این بخش، Move Speed را بر 22 و Rotation Speed را بر 2 تنظیم کنید. سرعت حرکت، سرعت جابه جایی سفینه را مشخص می‌کند و سرعت چرخش هم مشخص می‌کند که سفینه چقدر سریع یا کند، تغییر جهت می‌دهد.

اصلاح حرکت آبجکت در یونیتی

برای حرکت دادن سفینه خود، از کلیدهای جهت‌دار کیبورد استفاده کنید. خواهید دید که سفینه شما در حین حرکت، از صفحه نمایش شما خارج می‌شود که این ایراد باید برطرف شود. در نتیجه از منو بار مثل حالت قبل، از کامپوننت و بخش اسکرپت، Screen Wrap را انتخاب و به آبجکت spaceship اضافه کنید.

اصلاح حرکت آبجکت بازی در یونیتی
اصلاح حرکت آبجکت بازی در یونیتی

حتما متوجه شده‌اید که این کامپوننت یک فیلد به نام Renderers دارد که مجموعه‌ای از Skinned Mesh Renderers را به خود اختصاص می‌دهد که هندسه‌ی سازنده یک مدل است.

اگر یک رندرر در صفحه نمایش شما نباشد، آبجکت در فضا بر اساس جهت حرکت و موقعیت مکانیش جا به جا می‌شود.

زبانه Spaceship را تا جایی که body آبجکت خود را ببینید باز کنید، سپس آن را با درگ به فیلد رندر منتقل کنید.

زبانه Spaceship
زبانه Spaceship

حالا می‌توانید بازی خود را اجرا کنید اما به هیچ وجه ذخیره بازی را فراموش نکنید.

اجرای بازی
اجرای بازی

فیزیک یونیتی ؛ آشنایی با قوانین

در پرواز سفینه یک مشکل اساسی وجود دارد چون شما یکی از قوانین فیزیک یونیتی را رعایت نکرده‌اید.

یونیتی از فیزیک برای تشخیص برخوردها استفاده می‌کند. اگر یک GameObject کامپوننتِ RigidBody نداشته باشد، یک برخورد کننده بی‌حرکت static collider محسوب می‌شود.

برای جلوگیری از این اتفاق باید یک کامپوننت Rigidbody به آبجکت اضافه کنید.

قبلاً کامپوننت‌ها را مستقیماً از نوار منو اضافه کرده‌اید. این بار، با Spaceship که همچنان در Hierarchy انتخاب شده است، روی دکمه Add Component کلیک و Inspector را انتخاب کنید.

دکمه Add Component
دکمه Add Component

در این حالت شما مِنو کامپوننت را می‌بینید. Physics و سپس Rigidbody را انتخاب کنید.

چگونگی انتخاب Physics و سپس Rigidbody
چگونگی انتخاب Physics و سپس Rigidbody

این کامپوننت گزینه‌های زیادی دارد. با انتخاب Is Kinematic شما می‌توانید مکان آبجکت را دستی جابه‌جا کنید.

تیک Is Kinematic را فعال و  Use Gravity را غیر فعال ‌کنید؛ چون در این بازی شما به جاذبه زمین نیاز ندارید.

rigidbody در یونیتی
Rigidbody در یونیتی

از آنجایی که آبجکتِ این بازی، پرواز می‌کند و به اجسام مختلفی تیراندازی می‌کند؛  طبیعتا مدیریت برخوردها در این بازی یک نقش اساسی ایفا می‌کند.

شما باید بدایند کِی بازیکن به یک سیاره شلیک می‌کند یا کی بازیکن با چیزی برخورد می‌کند.

با اشکال ساده مثل کره‌ یا مکعب می‌توانید برای بازی خود برخوردکننده بسازید. برخورد کننده‌ها با خطوط سبز در صحنه نمایش داده می‌شوند.

در این آموزش برای اینکه همه چیز ساده باشد، برخوردکننده کره‌ای را استفاده می‌کنیم.

 

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

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

نحوه ایجاد یک برخوردکننده کلایدر Collider در یونیتی

از پنجره Hierarchy، سفینه فضایی Spaceship را انتخاب کنید و بعد در پنجره Inspector ، دکمه Add Component را بزنید. سپس به ترتیب زیر کلیک کنید:

 Physics /Sphere Collider

به این ترتیب شما یک دایره سبز پشت سفینه فضایی می‌بینید.

  1. از Hierarchy سفینه فضایی را انتخاب کنید سپس از Inspector برخوردکننده کره‌ای Sphere Collider را پیدا کنید.
  2. Center را با این مختصات X:0, Y:4.09, Z:-0.72 تنظیم کنید
  3. Radius را در  14تنظیم کنید
  4. تیک Is Trigger را بزنید.

کامپوننت برخورد کننده کره‌ای شما به این شکل خواهد بود:

طبق تصویر زیر برخوردکننده باید سفینه را احاطه کند:

نحوه شلیک کردن در یونیتی با مسلح کردن بازی با توپ Arming the Cannons

پرواز کردن در بازی سرگرم کننده است اما بازیکنان تمایل زیادی به تیراندازی و منفجر کردن چند سیارک دارند. برای این کار یک اسکریپت فراهم شده است تا بتوانیداین خواسته بازیکننان را هم برآورده کنید.

مراحل زیر را طی کنید:

Hierarchy  / Spaceship/ Inspector  / Add Component/ Scripts / Ion Cannon

با این کار متوجه خواهید شد که یک کامپوننت صوتی  Audio Source به طور اتوماتیک همراه با اسکریپت به آبجکت بازی شما اضافه می‌شود.

کامپوننت صوتی
کامپوننت صوتی

بعضی اسکریپت‌ها نیازمند کامپوننت هستند و اگر کامپوننت‌ها در آبجکت بازی پیدا نشوند، اسکریپت‌ها به طور خودکار اضافه خواهند شد.

صدا در یونیتی ؛ اضافه کردن صدا به آبجکت

برای اینکه کاری کنید آبجکت شما صدا داشه باشد هم به منبع صوتی و هم کلیپ صوتی نیاز دارید. Audio Source می‌تواند به هر آبجکتی متصل شود در حالیکه کلیپ صوتی فقط یک فایل صوتی ساده است.

صدای شلیک shoot را از فولدر Sounds در پنجره Project به داخل فیلد Fire Sound درگ کنید.

فیلد Fire Sound
فیلد Fire Sound

متوجه خواهید شد که اسکریپت Ion Cannon یک فیلد Bullet یا همان گلوله هم دارد. وظیفه شما این است که یک آبجکت را به عنوان گلوله بسازید. جای نگرانی نیست فقط کافیست یک کره ساده بسازید.

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

برای ساخت گلوله مراحل زیر را طی کنید:

Hierarchy/ Create / 3D Object/ Sphere

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

سپس کره را از Hierarchy انتخاب کنید و بعد به کمک Inspector، مقیاس آن را به این ترتیتب تنظیم کنید: X:0.47, Y:0.47, Z:0.47

کره را دوباره از Hierarchy انتخاب کنید و نام آن را به Bullet یا همان گلوله تغییر دهید.

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

برای این کار مراحل زیر را طی کنید:

از Hierarchy  گلوله را انتخاب کنید و بعد در Inspector دکمه Add Component را بزنید. سپس Physics و بعد Rigidbody را بزنید تا کامپوننت Rigidbody  به گلوله اضافه شود.

آموزش شلیک گلوله در یونیتی پروژه سفینه فضایی

گلوله برای جابجایی به سرعت نیاز دارد، بنابراین مطمئن شوید که تیک Kinematic فعال باشد. همچنین، مطمئن شوید که Use Gravity تیک ندارد.

اما در حال حاضر این گلوله، حتی پس از خروج از صفحه نمایش هم، دقیقاً مانند حالت اولِ سفینه فضایی، به حرکت خود ادامه خواهد داد. بنابراین از پنجره Project، اسکریپت Bullet را بر روی Bullet GameObject درگ کنید. اکنون، هنگامی که گلوله از صفحه خارج شود، به طور خودکار از بین خواهد رفت.

در آخر، آبجکت Bullet خود را به داخل پوشه Prefab در پنجره Project بکشید. این کار یک Prefab از گلولۀ شما ایجاد می‌کند تا بتوانید فقط با یک اسکریپت، هر چقدر که می‌خواهید، گلوله بسازید.

حالا که شما گلوله خود را به عنوان یک Prefab دارید، نمونه مدل آن را از Hierarchy پاک کنید.

دوباره Spaceship را انتخاب کنید و با استفاده از Inspector ، Prefab گلوله را به فیلد گلوله اضافه کنید. صفحه Inspector به این شکل خواهد شد:

در این مرحله در Hierarchy دوربین اصلی را با اسم Main Camera انتخاب کنید و از Inspector برای تغییر رنگ موارد زیر استفاده کنید:

Clear Flags تنظیم بر روی Solid Color

Background Color تنظیم بر روی black

پروژه را ذخیره و بازی را اجرا کنید. شما می‌توانید با  فشار دادن space گلوله شلیک کنید.

نحوه قراردادن زباله‌های فضایی Debris در فضا

سفینه فضایی که پرواز می‌کند و قابلیت تیراندازی دارد، نیازمند چیزهایی است که به  آن‌ها شلیک کند. پس در این مرحله تعدادی سیارک به بازی اضافه خواهیم کرد.

از فایل‌های دانلود شده، فایل rock_d_05.obj را بیابید و بعد داخل فولدر Models در پنجره Project درگ کنید.

روی rock_d_05.obj راست کلیک کنید و آن را به Asteroid تغییر نام دهید.

این فایل فقط اطلاعات خود مدل را، بدون هیچ انیمیشنی دارد.

مدل Asteroid را که به معنای سیارک است به صحنه درگ کنید تا یک نمونه از آن ایجاد شود. خواهید دید که سیاره در حال حاضر سفید رنگ است.

مدل Asteroid
مدل Asteroid

در این مرحله باید بیاموزید که چگونه بافت یا تکسچر به مدل ها بدهید.

نحوه ایجاد تکسچر و به کارگیری متریال روی مدل‌ها در یونیتی

آبجکت Asteroid را باز کنید و زیر مجموعه آن را با نام rockLP001 انتخاب کنید. در Inspector خواهید دید که این زیر مجموعه، یک کامپوننت Mesh Renderer با خود به همراه دارد. رندرر به کمک متریال‌ها آبجکت را در صفحه نمایش به تصویر می‌کشد.

آشنایی با مفهوم متریال دیزاین گوگل

نقش متریال در یونیتی چیست؟

متریال‌ها ظاهر آبجکت شما را مشخص می‌کنند. برای مثال بافت پیراهن نخی بسیار متفاوت از دیوار گچ است. یونیتی این کار را توسط Shaders ها انجام می‌دهد.

Shaders در یونیتی چیست؟

Shaders اسکریپت‌های کوچکی شامل محاسبات ریاضی و الگوریتم‌های محاسبه رنگ پیکسل‌های رندر شده، بر اساس روشنایی و تنظیمات Material هستند.

یونیتی Shaders مختلف و زیادی را در اختیار شما قرار می‌دهد. به عنوان مثال می‌توانید از آن‌ها برای تهیه آسمان یا یک شی شفاف، استفاده کنید.

نحوه استفاده از متریال در بازی سفینه فضایی یونیتی

پوشه متریال را از پنجره Project باز کنید و بر روی دکمه Create کلیک کنید. از کشوی باز شده، Material را انتخاب کنید و نامش را به Asteroid تغییر دهید. در پنجره Inspector شما ویژگی‌های موجود برای متریال را خواهید دید:

پنجره Project
پنجره Project
  1. با گزینه Shader یکی از انواع زیاد Shader های از پیش ساخته شده را انتخاب کنید. از آنجایی که پیش فرض استاندارد Shader دارای انعطاف پذیری زیادی است، بنابراین همان را انتخاب کنید.
  2. وقتی یک سیارک تیر می‌خورد برای محو کردنش Rendering Mode را روی Fade تنظیم کنید.
  3. Albedo دارای بافت واقعی است که شما می‌توانید آن را رنگ آمیزی کنید.

عکس flint_like_rock_4787 را از فولدر Textures به Albedo در پنجره Project درگ کنید.

نحوه استفاده از متریال در بازی سفینه فضایی یونیتی

  1. در زیر پنجره Inspector به پیش نمایش متریال سیارک نگاهی بیاندازید. خواهید دید که متریال زیادی صاف و صیقلی است. (اگر پیش نمایش را نمی‌بینید طبق تصویر زیر، نوار عنوان Asteroid را، از پایین Inspector به بالا بکشید.)

 

زیر خاصیت Metallic، دو اسلایدر مشاهده خواهید کرد. اسلایدر اول ظاهر Metallic متریال را تعیین می کند، در حالی که دیگری میزان سخت و خشن بودن متریال را مشخص می‌کند.

در این اموزش Metallic را روی 0.219 تنظیم کنید.

  1. اسلایدر میزان صافی Smoothness را روی عدد 149 تنظیم کنید تا متریال شما به شکل زیر باشد:

الان نیاز دارید که این متریال ویرایش شده را به سیارک خود اضافه کنید. متریال Asteroid را از پنجره پروژه روی آبجکت Asteroid در صحنه درگ کنید.

نحوه اضافه کردن رفتار در یونیتی به سیارک Asteroid

الان زمان اضافه کردن رفتار به سیارک است.

اسکریپت Debris را از پنجره Project،  داخل فولدر Scripts در Asteroid درگ کنید. اسکریپت Debris به طور خودکار یک دایره برخوردکننده و Rigidbody و منبع صوتی به Asteroid اضافه می‌کند. سپس تمام ویژگی‌ها را تنظیم کنید:

اضافه کردن رفتار به سیارک Asteroid
اضافه کردن رفتار به سیارک Asteroid
  1. مرکز Sphere Collider را با این اعداد تنظیم کنید X:0.01, Y:-0.09, Z:0.89
  2. Radius 1.49
  3. تیک Is Trigger را بزنید
  4. برای Rigidbody تیک Use Gravity را بردارید
  5. تیک Is Kinematic را فعال کنید
  6. برای اسکریپت Debris  (زباله‌های فضایی) Min Speed (سرعت حداقل روی 15 تنظیم شود)
  7. Max Speed روی 30 تنظیم شود
  8. صدای explosion را از فولدر Sounds به فیلد Explosion Sound درگ کنید.
  9. برای جابه‌جایی آبجکت سیارک، Scale را روی X:3.02, Y:3.02, Z:3.02 تنظیم کنید
  10. کامپوننت Debris را هم به کامپوننت Renderer Fade اضافه کنید؛ چون وقتی یک گلوله به یک سیارک برخورد می‌کند، سیارک باید به جای یک باره ناپدید شدن، رفته رفته از صفحه نمایش محو شود. پس زمان برای ناپدید شدن Fade Time را روی 5 تنظیم کنید

همچنین سیارک‌ها در صفحه نمایش، باید دقیقا مثل سفینه فضایی، محدوده حرکتی داشته باشند.

از پوشه Scripts در پنجره Project،  اسکریپت ScreenWrap را روی Asteroid درگ و اعمال کنید.

Asteroid یک آبجکت زیرمجموعه به نام rockLP001 دارد. این آبجکت زیرمجموعه را از کامپوننت Screen Wrap، به بخش Renderers در صفحه Inspector آبجکتِ Asteroid درگ کنید.

در آخر، Asteroid را از Hierarchy به پوشه Prefab در پنجره Project  درگ کنید. در صفحۀ باز شده Original Prefab را انتخاب کنید. حالا که  Prefab Asteroid  شما ساخته شده می‌توانید نمونه مدل آن را از Hierarchy با کلید Delete از کیبورد پاک کنید.

نحوه افزایش تعداد سیارک ‌ها در بازی

در نهایت شما باید کاری کنید که سیارک ‌ها خود به خود تولید شوند. بر روی دکمه Create در Hierarchy کلیک کنید و Create Empty را انتخاب  و آن را Debris نامگذاری کنید.

توجه داشته باشید؛ نقاطی که زباله‌های فضایی در آن تولید می‌شوند باید هم سطح بازیکن باشند. در غیر این صورت، بازیکن یا بالای آن‌ها یا زیرشان پرواز خواهد کرد.  برای حل این مساله از آبجکت missile_R_0 به عنوان مرجع استفاده کنید چون در مرکز مدل قرار دارد.

نحوه افزایش تعداد سیارک‌ها در بازی
نحوه افزایش تعداد سیارک‌ها در بازی

آبجکت بازی Debris را با درگ، زیر مجموعه آبجکت missile_R_0 کنید. به این ترتیب تغییرات و جابه جاییDebris ، از مجموعه مادر خود یعنی missile_R_0 تبعیت خواهد کرد.

در تنظیمات مجموعه مادر، موقعیت Debris را X:0, Y:0, Z:0 قرار دهید. با این ترفند مطمئن خواهید شد که Spaceship و Debris در یک سطح قرار دارند.

سپس Debris را به پایینHierarchy  یعنی همانجایی که قبلا بود منتقل کنید.

آبجکت Debris را 7.5 بار به سمت راست ببرید اما اگر مطمئن نبودید که درست انجامش داده‌اید موقعیت آن را چک کنید که باید روی X:20.0, Y:1.72, Z:7.06 تنظیم باشد.

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

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

از Hierarchy دکمه Create را بزنید و بعد Create Empty را انتخاب کنید. سپس در صفحه Inspector، روی نام آبجکت جدید کلیک کنید و آن را GameManager بنامید.

سپس در حالیکه در Hierarchy، GameManager انتخاب شده است، دکمه Add Component را کلیک کنید و بعد از انتخاب اسکریپت‌ها، GameManager را بزنید.

خواهید دید که با این کار، یک منبع صوتی Audio Source هم اضافه می‌شود. همچنین کامپوننت GameManager ، فیلدهای زیادی دارد که باید تنظیمشان کنید چون در بخش تولید کردن سیارک‌ها کاربرد دارد.

از فیلد Debris شروع کنید. قبلش مطمئن شوید که GameManager  از Hierarchy انتخاب شده است. سپس Prefab Asteroid را به فیلد Debris  درگ کنید.

GameManager مسئول تولید و پخش سیارک‌ها است. چون با به کارگیری فیلد Debris، تصمیم می‌گیرد که کدام آبجکت تولید و پخش شود و شما با این کار برای GameManager مشخص می‌کنید که از Prefab سیارک‌ها یا همان Asteroid استفاده کند.

تنظیمات GameManager

  1. Min Time را روی 2 و Max Time را روی 5 سِت کنید تا اسکریپت بداند با چه سرعتی باید سیارک‌ها را تولید کند.
  2. Total Items on Screen را روی 5 بگذارید. تا تعداد سیارک‌ها را به 5 محدود می کند و بازیکن گیج نشود.
  3. آبجکت Debris را از Hierarchy  به فیلد Screen Debris درگ کنید. به این ترتیب GameManager سیارک‌ها را از روی آبجکت Debris تولید می‌کند.

در نهایت کامپوننت GameManager به شکل زیر خواهد بود:

کامپوننت GameManager
کامپوننت GameManager

در نهایت؛ در کامپوننت Audio Source، background-music را به فیلد AudioClip اضافه کنید و مطمئن شوید که فیلد loop تیک دارد.

اکنون بازی را اجرا کنید تا ببینید همه چیز، چطور به نظر می رسد و فراموش نکنید که بازی را حتما ذخیره کنید.

آموزش یونیتی پروژه محور و رایگان به زبان فارسی

به این ترتیب شما اولین بازی خود را به سادگی، در یونیتی ساختید.

جمع بندی مقاله جامع آموزش یونیتی Unity

در این مقاله از فرانش؛

  • به طور کامل با محیط نرم‌افزار یونیتی و پنجره‌های مختلف آن آشنا شدیم
  • نحوه ایجاد مدل در یونیتی را یاد گرفتیم
  • طرز کار با نوار ابزار و حرکت در محیط نرم‌افزار را آموختیم
  • تمام اصطلاحات مهم یونیتی اعم از Component، Assets ،GameObject ،Prefab و… را یاد گرفتیم.
  • و در نهایت تمام آموخته‌های خود را در یک پروژه واقعی، پیاده کردیم و یک بازی سفینه فضایی شوتر ساختیم.

نظر شما در مورد صنعت بازی سازی ایران و جهان چیست؟ آیا توسعه یونیتی، همگام با گسترش صنعت ویدیو گیم خواهد بود؟ جواب سوالات را در قسمت نظرات این مقاله بنویسید و با ما در ارتباط باشید.

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

برای آموزش بیشتر و حرفه‌ای؛ حتما در دوره‌های یونیتی پیشنهاد شده از فرانش شرکت کنید.

دوره‌های مرتبط در فرانش

نگار سلیمانی

بدون دیدگاه

دیدگاهتان را بنویسید