آموزش موتور ساخت بازی یونیتی Unity — بخش اول
تا چندی پیش، ساخت بازیهای سهبعدی نیازمند مهارتهای برنامهنویسی سطح پایین و دانش پیشرفته ریاضی بود. هنر ساخت بازیهای سهبعدی فقط به توسعهدهندگان حرفهای بازیها اختصاص داشت و کار بسیار مشکلی بود. شرایط ساخت بازیهای سهبعدی با ظهور موتور بازی Unity کاملاً تغییر کرد.
Unity، برنامهنویسی بازی را به یک موتور بازی تبدیل کرد و حال امکان بازیسازی برای علاقهمندان به راحتی فراهم است. البته، هنوز ویژگیهای سهبعدی پیچیده بازیسازی وجود دارند، شما با ارتقای قابلیتهای خود میتوانید از این ویژگیها در بازی خود استفاده کنید. با استفاده از این آموزش میتوانید آموزش ساخت بازی را شروع کنید. در این آموزش، موتور بازی Unity، شما بازی Bobblehead Wars را خواهید ساخت.
در این بازی، شما نقش یک فضانورد فضایی دریایی را بازی میکنید، که یک کشتی بیگانه را منهدم میکند. ممکن است شما این شخصیت را قبلاً دیده باشید، این شخصیت در بازی Drop Charge که نسخه دو بعدی این بازی برای سیستم عامل های IOS و TVOs ارائه شد، ظاهر شده است.
قهرمان ما، space marine، پس از نابودی کشتی دشمن تصمیم میگیرد که به تعطیلات در یک سیاره بیگانه متروک برود. با این حال، دشمنان موفق به خاموش کردن خورشید میشوند. این بازی، یک تیراندازی دو طرفه است که شما گروهی از دشمنان که بی هدف حمله میکنند را نابود میکنید.
این آموزش با بررسی رابط کاربری Unity و چگونگی واردکردن عناصر به برنامه شروع میشود.
نصب و اجرای Unity
ابتدا باید موتور بازی Unity را دانلود کنید. برای دانلود این برنامه به آدرس http://unity3d.com/get-unity مراجعه کنید. در این صفحه چندین گزینه برای انتخاب وجود دارد:
شما میتوانید نسخه Pro را تهیه کنید. اما این نسخه برای این مرحله از کار شما ضروری نیست. برای استفاده از این آموزش، تنها به نسخه رایگان برنامه نیاز دارید. در واقع، شما حتی میتوانید یک بازی کامل را با نسخه رایگان ساخته و به فروش برسانید. پیش از این، برخی از ویژگیهای موتور بازی در نسخه رایگان غیرفعال بودند. با انتشار Unity 5، تمام خصوصیات بسته شده برای تمام کسانی که از نسخه شخصی برنامه استفاده میکنند، در دسترس قرار گرفت.
اگر مایل به شناخت نسخه های متفاوت این برنامه هستید، در زیر ویژگیهای کلی هر نسخه ذکر شده است:
- Unity Personal: این نسخه به شما امکان میدهد بدون پرداخت هیچ گونه هزینه، یک بازی کامل را ساخته و منتشر کنید. با این حال، درآمد شرکت شما باید کمتر از میزان معینی باشد. علاوه بر این، بر روی صفحهنمایش بازی ساخته شده عبارت Made by Unity درج میشود و شما نمیتوانید این علامت را حذف کنید.
- Unity Plus: برای استفاده از این نسخه باید میزان معینی هزینه ماهیانه یا سالانه پرداخت کنید. این نسخه دارای ویژگیهای ابزار گزارشگیری و برخی ویژگیهای اضافی دیگر است. برای استفاده از این نسخه نیز درآمد سالانه شرکت شما باید از میزان معینی کمتر باشد و عبارت Made by Unity نیز بر روی صفحهنمایش بازی شما نمایش داده میشود.
- Unity Pro: این نسخه، بهترین نسخه موجود است. هزینه پرداختی برای استفاده از این نسخه نسبت به نسخه Unity Plus بیشتر است و دارای سرویسهای مفید و افزونههای خاصی برای سیستمعاملهای اندروید و IOS می باشد، و عبارت Made by Unity بر روی صفحهنمایش بازی شما نمایش داده نمیشود.
یک نسخه تجاری از این برنامه نیز برای سازمانهای بزرگی که خواهان دسترسی به کد منبع و حمایت تجاری هستند، وجود دارد.
در زیر نسخه Unity Personal بر روی گزینه Download now کلیک کنید. کمی صبر کنید تا فرایند دانلود انجام شود، سپس با استفاده از راهنمای نصب، فرآیند نصب را انجام دهید تا به صفحه انتخاب مولفهها برسید:
تصاویر این آموزش از نصب برنامه بر روی سیستم عامل ویندوز تهیه شده است زیرا اکثر توسعهدهندگان از این سیستمعامل استفاده میکنند (عمدتا به این دلیل که سیستم عامل ویندوز، محبوب ترین پلتفرم بازی سازی است). اگر شما از سیستمعامل مکینتاش استفاده میکنید، تصاویر شما ممکن است کمی متفاوت باشند اما نگران نباشید، شما هنوز هم میتوانید از این آموزش به خوبی بهره ببرید.
بهطور پیشفرض، شما باید مولفهی Documentation ، Unity engine و Standard Assets را انتخاب کنید. وجود این مولفه ها به دلایل ارائه شده در ادامه مهم هستند:
- موتور Unity: این مولفه، بخش اصلی برنامه است که بازیهای شما را راه اندازی میکند. هنگام بروزرسانی موتور بازی، گزینه avoid downloading unnecessary files را جهت جلوگیری از دانلود فایلهای غیرضروری انتخاب کنید.
- Documentaion: زمانی که شما با مشکلی مواجه شوید یا برخی مسائل را درک نکنید، مستندات برای شما مفید خواهند بود. دانلود مستندات شما را از وابستگی به اینترنت آزاد میکند. این مستندات بهویژه زمانی که در سفر هستید یا به اینترنت دسترسی ندارید مفید هستند.
- Standard Assets: این مولفه حاوی ابزار مفیدی از جمله کنترلکنندههای اصلی و جانبی و دیگر عناصری است که برای ساخت بازیها به شما کمک میکنند.
پس از اتمام فرآیند نصب، برنامه را اجرا کنید. اولین چیزی که مشاهده میکنید، یک کادر محاورهای است که درخواست گواهینامه برنامه Unity را میدهد.
اگر حساب کاربری ندارید، بر روی Create one کلیک کنید و مراحل ساخت حساب کاربری را دنبال کنید. حساب های کاربری برنامه Unity رایگان هستند. هر دفعه که بخواهید به برنامه وارد شوید باید به حساب کاربری خود وارد شوید اما برنامه برای زمانی که به شبکه دسترسی ندارید، دارای یک حالت آفلاین است. هنگامیکه به سیستم وارد شوید، با لیستی از پروژه ها مواجه خواهید شد و به راحتی میتوانید به پروژههای خود دسترسی پیدا کنید. از آنجا که در حال حاضر پروژهای ندارید، بر روی دکمه New کلیک کنید.
اگر کادر ایجاد پروژه را بررسی کنید، متوجه خواهید شد که تعدادی گزینه وجود دارد که باید آنها را به صورت زیر پر کنید:
در زیر، اجزای ظاهر شده در تصویر بالا تشریح شدهاند:
- Project name نمایانگر نام داخلی بازی است. این نام به همراه بازی نهایی شما منتشر نمیشود، بنابراین میتوانید نام پروژههایتان را هر چیزی که مایل هستید، بنویسید. نام این پروژه را Bobblehead Wars انتخاب کنید.
- فیلد Location، مکانی است که شما پروژه و عناصر مرتبط را ذخیره خواهید کرد. برای انتخاب یک مکان در رایانه خود، بر روی سه نقطه در فیلد Location کلیک کنید.
- گزینه 3D تعیین میکند که بازی سهبعدی یا دو بعدی است. این گزینه فقط ویرایشگر را برای این حالت تنظیم میکند. شما میتوانید بدون شروع یک پروژه جدید، بین حالتهای دو بعدی (2D) و سهبعدی (3D) جابهجا شوید. برای بازی Bobblehead Wars حالت سهبعدی (3D) را باید انتخاب کنید.
- دکمه Add Asset Package امکان افزودن ابزار اضافی یا هر ابزار دیگری که از Unity Asset Store دانلود کردهاید را به بازی شما فراهم میآورد. فعلاً نیازی به انجام این کار ندارید.
در نهایت، گزینه Enable Unity Analytics را دارید که به شما امکان بررسی تجارب بازیکنان را میدهد. با خواندن دادهها میتوانید مناطقی که بازیکنان در حال جنگ هستند را مشخص کنید و براساس بازخورد گرفته شده، تغییراتی ایجاد کنید. در این آموزش به بررسی این گزینه نمیپردازیم، بنابراین این قابلیت را در حالت off قرار دهید. حال بر روی دکمه Create project کلیک کنید.
آموزش رابط کاربری
هنگامیکه پروژه بارگذاری شد، یک صفحه حاوی از اطلاعات را مشاهده خواهید کرد. اگر کمی احساس سردرگمی کنید طبیعی است. پس از کمی کار کردن، احساس راحتی خواهید کرد. صفحه اولیه شما احتمالاً مشابه شکل زیر خواهد بود:
اگر اینطور نیست، بر روی دکمه Layout در سمت راست، بالای صفحه کلیک کرده و از منوی کشویی گزینه زیر را انتخاب کنید.
هر طرح از چندین نمای مختلف تشکیل شده است. هر نمایه، یک پنل اطلاعاتی است که برای دستکاری موتور بازی استفاده میشود. برای مثال، یک نمایه برای قرار دادن اشیا در دنیای بازی شما وجود دارد. یک نمایه دیگر برای اجرای بازی است. در شکل زیر، دیدگاههای متفاوت رابطکاربری مشخص شده است. هر مستطیل قرمز یک نمایه را نشان میدهد که دارای هدف خاص خود، رابط کاربری و راههای برقراری ارتباط خاصی است.
برای دیدن لیست تمام نمایهها، در نوار menu بر روی گزینه Windows کلیک کنید.
رابط کاربری برنامه Unity کاملاً قابل تنظیم است بنابراین شما میتوانید نمایههای مناسب را اضافه و حذف کرده یا مجدداً تنظیم کنید. هنگام کار با Unity، معمولاً میخواهید نمایهها را طوری طرحبندی کنید که برای یک کار خاص مناسب باشد. برنامه Unity به شما این امکان را میدهد تا طرحها را برای استفاده آینده ذخیره کنید. در ویرایشگر، زبانه Game را پیدا کنید (در پایینترین بخش سمت راست صفحه) و بر روی آن راست کلیک کنید. از منوی کشویی، ابتدا گزینه Add Tab را انتخاب کرده و سپس Profiler را انتخاب کنید.
نمای Profiler به شما امکان میدهد تا بازی خود را در زمان اجرا تجزیه و تحلیل کنید. متأسفانه، نمای Profiler، نمای Game را مسدود میکند، بنابراین شما در هنگام استفاده از نمای Profiler قادر به نمایش بازی نیستید. بر روی زبانه Profiler کلیک کرده، و آن را نگهدارید، سپس آن را به تب Scene بالا بکشید.
همانطور که میبینید، نمایهها میتوانند منتقل شده و تنظیم شوند. آنها همچنین میتوانند در خارج از ویرایشگر بهعنوان پنجرههای شناور قرار گیرند. برای ذخیره طرح، مسیر Window/Layouts/Save Layout… را انتخاب کرده و با نام Debugging ذخیره کنید.
هر زمان که نیاز به دسترسی به این طرح خاص داشته باشید، میتوانید دکمه Layout را انتخاب کرده و طرح با نام Debugging را انتخاب کنید.
سازماندهی عناصر
کسانی که تازه شروع به استفاده از برنامه Unity کردهاند، ممکن است فکر کنند که تمام فرآیند ساخت بازی از ابتدا تا انتها از جمله کد نویسی، ساخت مدلهای سهبعدی و غیره در برنامه Unity انجام میشود. در واقع، بهترین تصور از برنامه Unity، در نظر گرفتن آن بهعنوان ابزار ادغام است. شما معمولاً کدها، مدلهای سهبعدی و دیگر قسمتها را در برنامههای دیگری میسازید و از برنامه Unity برای کنار هم قرار دادن این بخشها استفاده میکنید.
ما برای برنامه Bobblehead Wars تعدادی مدل سهبعدی ساختیم زیرا آموزش چگونگی مدل کردن اشیا در برنامه Blender نیازمند آموزش جداگانهای است. در این برنامه یاد میگیرید چگونه مدلهای سهبعدی را درون بازی استفاده کنید. اما قبل از واردکردن این مدلهای سهبعدی به درون برنامه، ابتدا باید آنها را سازماندهی کنید. شما عناصر زیادی در این بازی خواهید داشت، بنابراین سازماندهی این عناصر بهطوریکه یافتن آنها راحت باشد، ضروری است. مکانی که شما اجزای بازی را وارد کرده و آنها را سازماندهی میکنید، Project Browser نامیده میشود. این نمایه، سازماندهی سیستم فایل شما را شبیهسازی میکند.
در Project Browser بر روی پوشه Assets کلیک کرده و دکمه Create را انتخاب کنید. پوشه را از منوی کشویی انتخاب کرده و نام آن را Models قرار دهید. این پوشه مکان درج مدلهای شما خواهد بود. ممکن است تصمیم بگیرید که فایلها و پوشهها را بهجای Project Browser درون سیستم فایل خود ساخته و دستکاری کنید. این تصمیم خوبی نیست، این کار را انجام ندهید. در برنامه Unity برای هر عنصر یک فراداده تولید میشود، ساخت، تغییر یا حذف عناصر بر روی سیستم فایل میتواند باعث خرابی این فرادادهها و بازی شما شود.
پوشههای زیر را بسازید: Animations، Materials، Models، Perfabs، Scenes، Scripts و Textures.
نمای Project Browser شما باید مشابه شکل زیر باشد:
آیکون بزرگ پوشهها برای من اذیت کننده بوده است. اگر شما نیز آیکونهای کوچکتر را ترجیح میدهید، با استفاده از نوار لغزنده در پایین Project Browser میتوانید اندازه آنها را کاهش یا افزایش دهید.
وارد کردن عناصر
اکنونکه پوشههای خود را سازماندهی کردهاید، میتوانید عناصر موردنیاز را به برنامه وارد کنید. برای شروع، منابع اولیه این آموزش را از اینجا دانلود کنید.
ابتدا، قهرمان بازی، «space marine» را وارد کنید:
پوشه resource را باز کرده و سه فایل زیر را بررسی کنید:
- BobbleMarine-Head.fbx
- BobbleMarine-Body.fbx
- Bobble Wars Marine texture.psd
این سه فایل را به درون پوشه Models بکشید. BobbleWars.unitypackage را کپی نکنید: این کار را بعداً انجام میدهیم.
فایل FBX
فایلهای FBX شامل مدلهای سهبعدی هستند. اما آنها همچنین میتوانند شامل «بافتها» (Texture) و انیمیشنها نیز باشند. برنامههای سهبعدی مانند Maya و Blender به شما این امکان را میدهند که از مدلهای خود برای واردکردن در برنامههایی مانند Unity با استفاده از این فرمت خروجی بگیرید. پوشه Models را انتخاب کنید و خواهید دید که گروهی از فایلهای جدید اضافه شده است. برنامه Unity مدلها را وارد کرده و پیکربندی میکند و پوشهای به نام Materials میسازد.
برای مرتب نگهداشتن فایلها، بافت Bobble Wars Marine texture را به پوشه textures منتقل کنید. همچنین محتویات پوشه ساخته شده Materials (در پوشه Models) را به پوشه Materials اصلی منتقل کنید و سپس با فشردن delete (یا کلیدهای delete+command در مکینتاش)، پوشه Materials را حذف کنید.
موادها (Materials)
مواد (Materials)، مدلها را با رنگ و بافت براساس میزان روشنایی ارائه میدهند. موادها از برنامههای shader استفاده میکنند که در نهایت چیزی که بر روی صفحهنمایش ظاهر میشوند را تعیین میکنند. برنامه Shader، برنامهای کوچک نوشتهشده به یک زبان Shader است. از بخش documentation میتوانید دربارهی مواد مطالعه داشته باشید. به پوشه Models برگردید و فایل BobbleMarine-Body را انتخاب کنید. نمای Inspector نیز اطلاعات مربوط به مدل و پیشنمایش آن را نمایش میدهد. اگر پیشنمایش را مشاهده نمیکنید، پس پنجره آن بسته است. در پایین نمای Inspector، یک نوار خاکستری پیدا کنید و سپس با استفاده از ماوس آن را بکشید تا پیشنمایش آن را ببینید.
نمای Inspector اجازه میدهد تا تغییراتی در پیکربندی مدل ایجاد کنید و همچنین امکان تغییر خصوصیات اشیای انتخابی را فراهم میآورد. از آنجایی که اشیا میتوانند کاملاً با یکدیگر متفاوت باشند، نمای Inspector زمینه را براساس شیء انتخابی تغییر میدهد.
نصب Blender
در این مرحله، شما مدلها و بافت ها (texture) را برای space marine وارد کردهاید. مدلها در فرمت FBX و بافتها در فرمت PSD هستند. ما مدلهای Space marine را در فرمت FBX عرضه کردیم زیرا این فرمت، فرمت محبوب سازندگان عناصر است. اما فرمت دیگری به نام فایلهای Blender نیز وجود دارد که باید با چگونگی استفاده از آنها آشنا شوید. فایلهای Blender، برخلاف فایلهای FBX، حاوی دادههای مدل منبع هستند. در واقع، شما میتوانید این فایلها را درون برنامه Blender ویرایش کنید، و نتیجه این تغییرات برخلاف تغییر فایل FBX بلافاصله در برنامه unity تأثیر میگذارد.
سلام من یونیتی هاب 3.0.0 را از سایت یونیتی دانلود کردم . sigh in نمیشه و مینویسه دوباره تلاش کنید ولی وارد نمیشه چکارکنم ؟ لطفا بگید. ممنون
سلام وقتتون به خیر.من برنامه unity5رو از سایت soft98دانلود کردم حالا ازم gmail و رمز خواست . من زدم ولی میگه بعدا امتحان کنید باید چیکار کنم ممنون میشم اگه توضیح بدید
سلام اشتباه نصب کردی
سلام،من وقتی بازی رو توی unity remote5 در اندروید تست میکنم،کیفیت به شدت پایین،ولی تو ی لپ تاپ اینجوری نیست،چیکار کنم؟
این خروجی بدلیل افزایش سرعت اجرا از کیفیت کمتری نسبت به خروجی نهایی بازی داره.
لطفاً آموزش مدل سازی با بلندر را هم در سایت قرار دهید