بازیسازی دیگر تنها یک سرگرمی نیست، بلکه به صنعتی پررونق و جذاب تبدیل شده که بسیاری از افراد، حتی بدون دانش فنی اولیه، میتوانند وارد آن شوند. از میان ابزارهای متعددی که برای ساخت بازیهای ویدئویی وجود دارد، یونیتی (Unity) یکی از بهترین گزینهها برای شروع بازیسازی است. با یونیتی، میتوانید بازیهای دوبعدی و سهبعدی جذابی بسازید که روی پلتفرمهای مختلف از جمله کامپیوتر، موبایل و حتی کنسولها اجرا میشوند.
اگر تاکنون بازیسازی را شروع نکردهاید و همیشه آرزوی ساخت یک بازی ویدئویی داشتهاید، در این مقاله با ما همراه باشید. در اینجا گام به گام به شما آموزش میدهیم که چگونه اولین بازی دوبعدی خود را با Unity بسازید. از نصب این نرمافزار قدرتمند گرفته تا نوشتن اولین خط کد و در نهایت خروجی گرفتن و به اشتراکگذاری بازی، تمامی مراحل را بهصورت کامل و ساده توضیح خواهیم داد.
چرا یونیتی گزینهای ایدهآل برای شروع است؟
- یونیتی رایگان است و ابزارهای قدرتمندی را بدون هزینه در اختیار شما قرار میدهد.
- رابط کاربری این پلتفرم برای مبتدیان طراحی شده است و یادگیری اولیه آن بسیار آسان است.
- مستندات رسمی فراوان، آموزشهای متعدد و جامعهی بزرگ کاربران باعث شده هر مشکلی که به آن برمیخورید، قابل حل باشد.
این مقاله مناسب افرادی است که به برنامهنویسی علاقه دارند، ولی حرفهای نیستند. هدف ما این است که بدون نیاز به داشتن اطلاعات پیچیده، قدم به دنیای جذاب ساخت بازیهای دوبعدی بگذارید و بازیسازی را به شیوهای سرگرمکننده یاد بگیرید. کاری که در پایان این راهنما انجام میدهید، یک بازی ابتدایی مشابه بازیهای کلاسیک خواهد بود؛ اما همین تجربهای است که میتواند به نقطه شروع ماجراجوییهای بزرگتری در دنیای توسعه بازی تبدیل شود.
حالا که آمادهاید، بیایید سفرمان را به دنیای بازیسازی شروع کنیم.
بخش 1: مقدمات و آمادهسازی محیط کار
برای شروع ساخت اولین بازی دوبعدی در یونیتی، اولین قدم آمادهسازی محیط کاری است. در این بخش با نصب و راهاندازی یونیتی آشنا میشوید و یاد میگیرید که چگونه ابزارهای اساسی این نرمافزار را برای ساختن بازی خودتان بشناسید.
1. دانلود و نصب یونیتی
قدم اول: نصب یونیتی هاب (Unity Hub)
یونیتی هاب برنامهای است که فرآیند نصب، مدیریت پروژهها، و نسخههای مختلف یونیتی را سادهتر میکند. برای دانلود آن مراحل زیر را دنبال کنید:
- به صفحه رسمی Unity بروید.
- Unity Hub را دانلود و نصب کنید.
- بعد از نصب، وارد برنامه شوید و یک حساب کاربری بسازید یا با حساب گوگل-جیمیل خود وارد شوید.
قدم دوم: نصب نسخه مناسب یونیتی
- وارد یونیتی هاب شوید و بخش “Installs” را باز کنید.
- روی دکمه Add کلیک کنید و نسخهای پایدار (مانند LTS یا آخرین نسخه پیشنهادشده) را انتخاب کنید. نسخههای LTS برای مبتدیان مناسبترند چون پایدارتر و بدون باگهای پیچیده هستند.
- در طول نصب، مطمئن شوید که ماژولهای مربوطه، مانند WebGL یا Android Build Support (در صورت نیاز) هم انتخاب شده باشند.
- بعد از اتمام نصب، یونیتی آماده استفاده است.
2. آشنایی با محیط کار یونیتی
پس از نصب یونیتی و ایجاد اولین پروژه، باید با رابط کاربری (User Interface) آن آشنا شوید. این بخش اصلیترین قسمت برای کار با یونیتی است و فهم درست آن، به شما کمک میکند بهرهوری خود را افزایش دهید.
معرفی پنجرههای اصلی در محیط یونیتی:
- Scene: این بخش محل اصلی طراحی مراحل شما در بازی است. هر چیزی که در بازی باید نمایش داده شود، در این بخش ایجاد و مدیریت خواهد شد.
- Game: پیشنمایشی از بازی شما ارائه میدهد و به شما امکان میدهد تا نتیجه کار خود را آزمایش کنید.
- Hierarchy: همه آبجکتها (Object) و المانهای موجود در صحنه شما در این بخش فهرستشدهاند.
- Inspector: هر المان یا آبجکتی که انتخاب کنید، ویژگیها و تنظیمات آن در این بخش نمایش داده میشود.
- Project: محتویات کامل پروژه، شامل فایلهای اسکریپت، تصاویر، صداها و هر Asset دیگر، در این پنجره مدیریت میشوند.
3. نکات کاربردی برای شروع کار در یونیتی
- قبل از شروع کار، مطمئن شوید که از حالت دوبعدی (2D Mode) در پروژه استفاده کردهاید. برای این کار، هنگام ایجاد پروژه جدید در یونیتی هاب، حالت 2D را انتخاب کنید.
- میانبرهای صفحهکلید را یاد بگیرید: برای صرفهجویی در زمان، از کلیدهای میانبر یونیتی استفاده کنید. بهعنوان مثال، کلید F برای زوم بر روی آبجکت انتخابشده بسیار مفید است.
- اگر بخشی از رابط کاربری را گم کردید، از گزینه “Window > Layout > Default” استفاده کنید تا محیط یونیتی به حالت پیشفرض بازگردد.
با انجام این مقدمات، شما آمادهاید تا وارد مرحله بعدی شوید و اولین پروژه بازی خود را بهصورت دوبعدی در یونیتی شروع کنید.
بخش 2: ایجاد پروژه جدید
پس از آمادهسازی محیط کار یونیتی، نوبت به شروع ایجاد اولین پروژه بازی میرسد. در این بخش یاد میگیرید چگونه یک پروژه جدید بسازید، آن را سازماندهی کنید و تنظیمات اولیه لازم برای شروع کار را انجام دهید.
1. ساخت یک پروژه جدید در حالت دوبعدی (2D)
برای ایجاد یک پروژه جدید در یونیتی، مراحل زیر را دنبال کنید:
- یونیتی هاب (Unity Hub) را باز کنید و روی گزینه New Project کلیک کنید.
- در پنجرهای که باز میشود، نوع پروژه خود را 2D انتخاب کنید. انتخاب حالت 2D بدین معناست که یونیتی به جای حالت سهبعدی، تمام امکانات را برای کار در محیط دوبعدی تنظیم میکند.
- نام پروژه را وارد کنید (مثلاً: MyFirst2DGame)، محلی برای ذخیره پروژه انتخاب کنید و روی Create کلیک کنید.
- چند لحظه صبر کنید تا محیط پروژه ایجاد شده و وارد یونیتی شوید.
در صورتی که پروژه به اشتباه در حالت سهبعدی ساخته شد، میتوانید از منوی بالا Edit > Project Settings > Editor را باز کنید و حالت Default Behavior Mode را روی 2D تنظیم کنید.
2. تنظیمات اولیه برای محیط پروژه
قبل از شروع طراحی بازی، بهتر است تنظیمات ابتدایی را انجام دهید تا در طول پروژه با مشکلات کمتری مواجه شوید:
- تنظیمات دوربین (Camera):
- در پنجره Hierarchy، روی Camera کلیک کنید و به Inspector آن بروید.
- مقدار Background Color را تغییر دهید تا رنگ پسزمینه دلخواهی برای صحنه بازی ایجاد کنید. (مثلاً آبی روشن یا سفید).
- مقدار Size در بخش Camera را تغییر دهید (برای نمونه، 5 یا 10) تا محدوده نمایش دوربین که در صحنه قابل مشاهده است، بزرگتر شود.
- تنظیم Units (واحدها):
- به واحدهای استاندارد در یونیتی اعتماد کنید (هر واحد معادل 1 کمیت در محیط بازی است). توجه داشته باشید که اندازه کاراکترها، عناصر و اشیاء بهتر است مقیاسی متناسب با صحنه داشته باشد.
3. سازماندهی فولدرها و فایلهای پروژه
یک روش کاری مرتب و ساختارمند از همان ابتدا میتواند در روند توسعه بازی بسیار مفید باشد. سازماندهی فایلها به شما کمک میکند در طول پروژه سردرگم نشوید. مراحل زیر بهترین شیوه برای ایجاد این سازماندهی هستند:
- در پنجره Project، فولدرهای جدیدی بسازید. برای نمونه:
- فولدر Sprites: برای ذخیره کاراکترها، اشیاء و سایر گرافیکهای دوبعدی.
- فولدر Scripts: برای ذخیره فایلهای کدنویسی (C#).
- فولدر Audio: برای قرار دادن موسیقی و افکتهای صوتی.
- فولدر Scenes: برای ذخیره فایلهای مراحل یا صحنههای بازی (.unity).
- اولین فایل صحنه خود را ذخیره کنید:
- از منوی بالا File > Save As را انتخاب کنید و فایل اولین صحنه خود را در فولدر Scenes ذخیره کنید. (آن را مثلاً Scene1 نامگذاری کنید).
4. نکات مهم برای مدیریت بهتر پروژه
- همیشه از پروژه خود بکاپ بگیرید. یونیتی گزینه مناسبی برای ذخیرهسازی در Git یا سایر سرویسهای ابری دارد.
- شناسایی فایلها و اسامی آنها را دقیق انجام دهید تا مدیریت پروژه پیچیده نشود. برای مثال، به جای نامهای غیر مشخص مانند “Untitled” از نامهایی استفاده کنید که محتوای فایل را به وضوح توصیف میکنند، مثل “PlayerSprite” یا “BackgroundMusic”.
در پایان این مرحله، شما اکنون یک پروژه مرتب و آماده برای شروع طراحی بازی دارید. در گام بعدی، به وارد کردن داراییها (Assets) و طراحی اولین صحنه بازی خواهیم پرداخت.
بخش 3: وارد کردن داراییها و طراحی اولیه بازی
حالا که پروژه شما ایجاد شده و محیط کار آماده است، نوبت به ایجاد اولین مرحله از بازی میرسد. در این بخش یاد میگیرید چگونه داراییها (Assets) را وارد کنید و اولین صحنه بازی را طراحی نمایید. این مرحله قدم مهمی است، زیرا بازیکن اولین تجربه تصویری خود را از این بخش دریافت میکند.
1. وارد کردن داراییها (Assets) به محیط پروژه
داراییها (Assets) شامل کاراکترها، اشیاء، پسزمینهها، و صداهایی هستند که برای بازیتان نیاز دارید. شما میتوانید از داراییهای آماده استفاده کنید یا خودتان آنها را طراحی کنید.
روشهای وارد کردن داراییها به پروژه:
- دانلود از Unity Asset Store:
- از منوی بالا به بخش Window > Asset Store بروید (در نسخههای جدید ممکن است نیاز باشد به Asset Store آنلاین Unity بروید).
- داراییهای رایگان مثل “2D Characters” یا “2D Backgrounds” را جستجو و دانلود کنید.
- پس از دانلود، داراییها در پوشه Assets پروژه شما اضافه میشوند.
- وارد کردن فایلهای محلی:
- فولدر Sprites را باز کنید.
- فایلهای گرافیکی دوبعدی خود (مانند PNG) را کشیده و در این فولدر رها کنید.
- یونیتی بهطور خودکار آنها را به داراییهای قابل استفاده تبدیل میکند.
نکات مهم:
- مطمئن شوید که تصاویر دوبعدی شما فرمت مناسبی داشته باشند (مانند PNG) و زمینه شفاف (Transparent Background) برای sprites کاراکترها و اشیاء بازی وجود داشته باشد.
- اندازه و کیفیت تصاویر باید متناسب با رزولوشن بازی تنظیم شوند تا گرافیک بازی در هر دستگاهی واضح و روان به نظر برسد.
2. قراردادن المانها در محیط صحنه
برای طراحی اولیه بازی، باید چند المان اصلی را در صحنه (Scene) خود قرار دهید. این المانها شامل کاراکتر اصلی، زمین، و پسزمینه است که مراحل حرکت و تعامل بازی را تعریف میکنند.
مراحل طراحی اولیه:
- اضافه کردن پسزمینه (Background):
- Sprite پسزمینه را از پنجره Project به پنجره Scene بکشید و رها کنید.
- با استفاده از Rect Tool (کلید میانبر T)، ابعاد پسزمینه را طوری تغییر دهید که کل صحنه را بپوشاند.
- موقعیت پسزمینه را تنظیم کنید، و در Inspector، گزینه Order in Layer را روی 0 بگذارید (یا مطمئن شوید مقدار آن کمتر از المانهای دیگری مانند کاراکتر باشد).
- ایجاد زمین یا سکو (Platform):
- یک تصویر یا گرافیک مستطیلی را برای زمین (Platform) وارد کنید.
- آن را به پنجره Scene کشیده و اندازه آن را تغییر دهید تا مناسب صفحه بازی باشد.
- به زمین خود یک Box Collider 2D اضافه کنید تا برخوردهای فیزیکی در بازی واقعیتر شود. از پنل Inspector و منوی Add Component گزینه “Box Collider 2D” را اضافه کنید.
- اضافه کردن کاراکتر اصلی (Player):
- گرافیک مربوط به کاراکتر را به صحنه بکشید.
- مطمئن شوید که کاراکتر روی زمین قرار گرفته باشد. در پنجره Inspector، مقدار Order in Layer کاراکتر را بالاتر از پسزمینه (مثلاً 1 یا 2) تنظیم کنید تا روی صحنه نمایش داده شود.
- برای تعاملات فیزیکی کاراکتر، به آن یک Rigidbody 2D (برای شبیهسازی وزن و حرکت) و یک Collider 2D اضافه کنید.
3. نکات برای مرتبسازی و مدیریت بهتر صحنه
- در پنجره Hierarchy نام المانهای صحنه را تغییر دهید (مثلاً Player، Ground، Background). این کار به شما کمک میکند در پروژههای بزرگتر، نظم پروژه حفظ شود.
- از گزینه Sorting Layers برای مدیریت موقعیت اشیاء در عمق صحنه استفاده کنید. برای مثال، کاراکتر را در لایهای بالاتر از زمین و زمین را در لایهای بالاتر از پسزمینه قرار دهید.
- اگر فضای صحنه بازی بسیار کوچک یا بزرگ به نظر میرسد، تنظیمات دوربین (Camera) و یا اندازه زمین را بررسی کنید.
با تمام این مراحل، اکنون صحنه اولیه بازی شما آماده شده است. در مرحله بعد، حرکت به کاراکتر اضافه خواهیم کرد و بازی شما را به اولین تعاملات واقعی مجهز خواهیم کرد.
بخش 4: حرکت به سمت برنامهنویسی (اسکریپتنویسی)
حالا که داراییها و صحنه اصلی بازی را آماده کردهاید، نوبت به برنامهنویسی برای اضافه کردن تعاملات و حرکت به کاراکتر اصلی میرسد. برنامهنویسی در یونیتی به زبان C# انجام میشود و خبر خوب این است که برای ایجاد یک بازی ساده، نیازی به تسلط کامل بر برنامهنویسی ندارید؛ تنها چند کد ساده کافی است تا کاراکترتان شروع به حرکت کند.
1. ایجاد اسکریپت برای حرکت کاراکتر
حرکت کاراکتر یکی از ابتداییترین و جذابترین بخشهای ساخت بازی است. برای اینکه کاراکتر شما بتواند به سمت چپ و راست حرکت کند و بپرد، مراحل زیر را انجام دهید:
مراحل ایجاد اسکریپت حرکت:
- به پوشه Scripts در Project بروید.
- کلیک راست کنید و از منوی Create گزینه C# Script را انتخاب کنید.
- فایل اسکریپت را نامگذاری کنید (مثلاً PlayerMovement).
- اسکریپت را دوبار کلیک کنید تا در ویرایشگر پیشفرض (مثلاً Visual Studio یا MonoDevelop) باز شود.
کدنویسی برای حرکت کاراکتر:
کد زیر را در فایل اسکریپت خود قرار دهید:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f; // سرعت حرکت کاراکتر
public float jumpForce = 5f; // قدرت پرش کاراکتر
private Rigidbody2D rb;
private bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>(); // گرفتن Rigidbody2D کاراکتر
}
void Update()
{
// حرکت چپ و راست
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
// پرش
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
// بررسی اینکه کاراکتر روی زمین است
if (collision.gameObject.tag == "Ground")
{
isGrounded = true;
}
}
private void OnCollisionExit2D(Collision2D collision)
{
// زمانی که کاراکتر از زمین جدا میشود
if (collision.gameObject.tag == "Ground")
{
isGrounded = false;
}
}
}
2. اختصاص دادن اسکریپت به کاراکتر
پس از نوشتن اسکریپت، باید آن را به کاراکتر خود متصل کنید:
- کاراکتر (Player) خود را در Hierarchy انتخاب کنید.
- اسکریپت PlayerMovement را از پنجره Project به Inspector مربوط به Player بکشید و رها کنید.
- مطمئن شوید که کاراکتر شما دارای کامپوننت Rigidbody2D و Collider2D است. اگر این کامپوننتها را اضافه نکردهاید، از منوی Add Component آنها را اضافه کنید.
3. برچسبگذاری زمین (Tagging)
برای اینکه بازی بفهمد کاراکتر چه زمانی بر روی زمین است، باید زمین را تگگذاری کنید:
- آبجکت مربوط به “زمین” یا “پلتفرم” را در Hierarchy انتخاب کنید.
- در Inspector، روی گزینه Tag کلیک کنید و مقدار آن را روی Ground تنظیم کنید.
- اگر گزینه Ground وجود ندارد، میتوانید آن را با کلیک بر روی Add Tag ایجاد کنید.
4. آزمایش حرکت کاراکتر
اکنون صحنه بازی را اجرا کنید:
- با دکمههای A و D یا فلشهای چپ و راست، کاراکتر باید به چپ و راست حرکت کند.
- با فشردن دکمه Space، کاراکتر باید پرش کند (البته تنها زمانی که روی زمین است).
- اگر حرکات بهدرستی کار نمیکنند، به دقت کدها و تگگذاری زمین را بررسی کنید.
نکات تکمیلی:
- اندازه نیروها را تنظیم کنید: اگر حرکت یا پرش کاراکتر خیلی سریع یا کند است، مقدار متغیرهای
moveSpeed
وjumpForce
را در Inspector تغییر دهید. - دیباگ اطراف زمین: اگر تشخیص برخورد با زمین (Ground) به مشکل خورد، اطمینان حاصل کنید که Colliderهای زمین و کاراکتر بهدرستی با هم همپوشانی دارند.
با این کار، کاراکتر بازی شما اکنون قادر به حرکت و پرش است! در بخش بعدی، تعاملات بیشتری به بازی اضافه میکنیم و المانهای جذابتری را وارد گیمپلی خواهیم کرد.
جمعبندی
در این مقاله یاد گرفتید که چگونه با استفاده از Unity، اولین بازی دوبعدی خود را از صفر بسازید. ابتدا محیط یونیتی را نصب و تنظیم کردیم، سپس پروژه جدید ایجاد کردیم و ساختار فایلها را مرتب نگه داشتیم. در ادامه، با وارد کردن داراییها (Assets) و طراحی اولیه صحنه، محیط بازی را آماده کردیم. در نهایت، با کمک برنامهنویسی ساده C#، حرکت و پرش را به کاراکتر بازی اضافه کردیم و بازی خود را به اولین تعاملات واقعی مجهز نمودیم.
ساخت یک بازی دوبعدی، حتی بازی سادهای مثل این، نخستین گام برای تبدیل شدن به یک توسعهدهنده بازی حرفهای است. این روند شاید در ابتدا چالشبرانگیز به نظر برسد، اما با پشتکار و آشنایی بیشتر با ابزارهایی مانند Unity، میتوانید بازیهای پیچیدهتر و جذابتری بسازید.
اگر علاقهمندید این مسیر را ادامه دهید، پیشنهاد میکنیم در مراحل بعدی موارد زیر را یاد بگیرید:
- افزودن مکانیسم جمعآوری سکهها یا آیتمها.
- طراحی دشمنها و تعامل آنها با کاراکتر بازی.
- طراحی رابط کاربری (UI) شامل نمایش امتیازات و منوها.
- استفاده از افکتهای صوتی و گرافیکی پیشرفتهتر برای بهبود تجربهی گیمپلی.
به یاد داشته باشید که بازیسازی یک فرایند خلاقانه و تدریجی است. با هر پروژهای که میسازید، مهارتهای جدیدی یاد میگیرید و تجربه بیشتری کسب میکنید. اکنون وقت آن است که اولین بازی دوبعدی خود را تکمیل کنید و به اشتراک بگذارید. موفق باشید!
دیدگاهها