Digital News

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

آموزش انجین یونیتی سلخت بازی موبایلی دیجیتال نیوز

آموزش انجین یونیتی سلخت بازی موبایلی دیجیتال نیوز

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

**۱. نصب یونیتی (Unity Hub)**

*   به وب‌سایت رسمی یونیتی ([https://unity.com/](https://unity.com/)) مراجعه کنید.

*   Unity Hub را دانلود و نصب کنید. این برنامه به شما امکان مدیریت نسخه‌های مختلف یونیتی و پروژه‌هایتان را می‌دهد.

*   از طریق Unity Hub، یک نسخه LTS (پشتیبانی بلندمدت) از یونیتی را نصب کنید. هنگام نصب، ماژول‌های مورد نیاز برای توسعه موبایل (Android Build Support و iOS Build Support) را نیز انتخاب کنید.

**۲. ساخت پروژه جدید**

*   Unity Hub را باز کنید و روی دکمه "New Project" کلیک کنید.

*   یک قالب (Template) را انتخاب کنید. برای شروع، قالب "3D Core" یا "2D Core" مناسب است.

 نام پروژه و محل ذخیره آن را تعیین کنید.

  روی "Create Project" کلیک کنید.

**۳. آشنایی با محیط یونیتی**

پس از باز شدن پروژه، با بخش‌های اصلی محیط یونیتی آشنا شوید:

*   Scene View: فضای سه‌بعدی یا دوبعدی که در آن اشیاء بازی خود را قرار می‌دهید و طراحی می‌کنید.

*   Game View: نمای بازی از دید دوربین. نتیجه نهایی بازی را اینجا مشاهده می‌کنید.

*   Hierarchy: لیستی از تمام اشیاء (GameObjects) موجود در صحنه فعلی.

*   **Project Window:** نمایش تمام فایل‌های پروژه شما (اسکریپت‌ها، تصاویر، مدل‌های سه‌بعدی، صداها و ...).

*   Inspector: نمایش و ویرایش خصوصیات (Properties) شیء انتخاب شده در Hierarchy یا Project Window.

*   Console: نمایش پیام‌های خطا، هشدارها و لاگ‌های برنامه.

*۴. مفاهیم کلیدی در یونیتی

*   **GameObject:** هر چیزی در صحنه بازی شما یک GameObject است (شخصیت بازی، نور، دوربین، دیوار و ...).

*   **Component:** GameObject ها دارای Component هایی هستند که رفتار و خصوصیات آن‌ها را تعیین می‌کنند (مثلاً Transform برای موقعیت و چرخش، Rigidbody برای فیزیک، Collider برای برخورد و ...).

*   **Scripting (C#):** با استفاده از زبان برنامه‌نویسی C# می‌توانید منطق بازی، رفتار شخصیت‌ها، تعاملات و سیستم‌های بازی را پیاده‌سازی کنید.

*   **Prefabs:** GameObject هایی که به عنوان الگو ذخیره می‌شوند و می‌توان بارها در صحنه از آن‌ها استفاده کرد.

**۵. ساخت یک صحنه ساده (مثال: پرتاب توپ)**

*   **ایجاد زمین:**

    *   در Hierarchy راست کلیک کرده، `3D Object > Plane` را انتخاب کنید. این صفحه، زمین بازی شماست.

    *   در Inspector، Transform آن را تنظیم کنید تا بزرگتر شود.

*   **ایجاد توپ:**

    *   دوباره در Hierarchy راست کلیک کرده، `3D Object > Sphere` را انتخاب کنید. این توپ شماست.

    *   در Inspector، به بخش Add Component رفته و `Rigidbody` را اضافه کنید تا فیزیک روی توپ اعمال شود.

*   **ایجاد اسکریپت:**

    *   در Project Window، پوشه‌ای به نام "Scripts" بسازید.

    *   داخل پوشه Scripts، راست کلیک کرده، `Create > C# Script` را انتخاب و نام آن را "BallController" بگذارید.

    *   اسکریپت BallController را باز کرده و کد زیر را در آن بنویسید:

```csharp

using UnityEngine;

public class BallController : MonoBehaviour

{

    public float moveForce = 10.0f;

    private Rigidbody rb;

    void Start()

    {

        rb = GetComponent<Rigidbody>();

    }

    void Update()

    {

       

0
ادامه مطلب

چرا گودوت (Godot)؟ موتورِ بازی‌سازیِ مردم‌پسند!

چرا گودوت (Godot)؟ موتورِ بازی‌سازیِ مردم‌پسند!

 چرا گودوت (Godot)؟ موتورِ بازی‌سازیِ مردم‌پسند!

قبل از شروع، باید بدانید چرا گودوت در سال ۲۰۲۶ این‌قدر محبوب است:

1. **کاملاً رایگان (متن‌باز):** هیچ درصدی از فروش بازی شما را نمی‌گیرد.

2. **سبک و سریع:** کل نرم‌افزار حدود ۱۰۰ مگابایت است! (در حالی که رقبایش چندین گیگابایت هستند).

3. **دوکاره:** هم برای بازی‌های ۲ بعدی (2D) بی‌نظیر است و هم برای بازی‌های ۳ بعدی (3D) کاملاً قدرتمند.

4. **زبانِ دوستانه:** از زبانی به نام **GDScript** استفاده می‌کند که بسیار شبیه به **پایتون** است؛ یعنی یادگیری آن برای مبتدی‌ها بسیار ساده است.

---

 نقشه راه: چطور اولین بازی موبایل خود را بسازیم؟

برای شروع بازی‌سازی در گودوت، این ۴ مرحله‌ی کلیدی را دنبال کنید:

گام اول: نصب و آشنایی با محیط (The Interface)

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

*   **Scene (صحنه):** همه چیز در گودوت یک «صحنه» است؛ کاراکتر، دشمن، یا حتی یک دکمه ساده.

*   **Node (گره):** اجزای سازنده صحنه هستند (مثل یک عکس، یک صدای انفجار، یا یک محیط فیزیکی).

*   **Inspector:** جایی که ویژگی‌های هر گره را تغییر می‌دهید (مثلاً تغییر رنگ، اندازه یا سرعت حرکت).

#### گام دوم: یادگیری منطق بازی (GDScript)

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

```gdscript

# اگر کلید راست زده شد، کاراکتر به راست حرکت کند

if Input.is_action_pressed("ui_right"):

    position.x += speed * delta

```

این کد برای یک مبتدی کاملاً قابل درک است!

گام سوم: طراحی برای موبایل (Touch & Screen)

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

*   **رزولوشن صفحه:** تنظیمات بازی را روی حالت "Stretch" بگذارید تا بازی شما روی همه گوشی‌ها (آیفون یا اندروید) به درستی نمایش داده شود.

*   **ورودی لمسی:** به جای کیبورد، از "Input Events" گودوت برای شناسایی ضربه انگشت روی صفحه استفاده کنید.

گام چهارم: خروجی گرفتن (Export)

وقتی بازی آماده شد، با استفاده از بخش "Export"، گودوت فایل شما را به فرمت `APK` برای اندروید یا `IPA` برای iOS تبدیل می‌کند.

---

۳ نکته طلایی برای حرفه‌ای شدن در گودوت

1.  **از کوچک شروع کنید:** اولین بازی خود را با ساخت یک بازی مثل "Flappy Bird" یا "پریدن از روی موانع" شروع کنید. سراغ ساخت بازی‌های بزرگ نروید تا ناامید نشوید.

2.  **از کتابخانه‌های آماده استفاده کنید:** در سایت [Godot Asset Library](https://godotengine.org/asset-library/)، هزاران کاراکتر، صدا و کدهای آماده وجود دارد که می‌توانید رایگان دانلود و در بازی‌تان استفاده کنید.

3.  **بهترین راه یادگیری (Learn by doing):** به جای دیدن ۱۰ ساعت تئوری، یک پروژه ۳۰ دقیقه‌ای در یوتیوب پیدا کنید و همزمان با آن بسازید.

 

یک حقیقت جالب (Fun Fact):

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

 

حتما! بخش دوم آموزش گودوت را آماده کرده‌ام که روی ساخت بازی تمرکز بیشتری دارد و نکات کاربردی‌تری را پوشش می‌دهد:

---

 راهنمای گام‌به‌گام ساخت بازی در گودوت (بخش دوم)

در بخش اول با کلیات گودوت آشنا شدیم. حالا وقت آن است که دستانمان را آلوده کنیم و اولین بازی واقعی خود را بسازیم! فرض کنیم می‌خواهیم یک بازی ساده سه‌بعدی (3D) بسازیم که در آن یک مکعب باید روی سکوها بپرد.

 گام پنجم: ساخت دنیای بازی (The 3D Scene)

1.  **ایجاد صحنه جدید:** یک صحنه سه‌بعدی جدید بسازید (`3D Scene`).

2.  **اضافه کردن زمین (Floor):** یک `MeshInstance3D` اضافه کنید و در Inspector، برای آن یک `BoxMesh` (مکعب) بسازید. سپس اندازه آن را بزرگ کنید تا مثل یک زمین شود.

3.  **اضافه کردن کاراکتر (Player Cube):** یک `MeshInstance3D` دیگر اضافه کنید و آن را به عنوان «کاراکتر» نام‌گذاری کنید. یک `BoxMesh` کوچک برایش بسازید. برای اینکه کاراکتر بتواند حرکت کند و با دنیای فیزیکی تعامل داشته باشد، یک `CharacterBody3D` هم به عنوان والد (Parent) برای این مکعب قرار دهید.

4.  **اضافه کردن سکوها (Platforms):** چند `MeshInstance3D` دیگر اضافه کنید و آن‌ها را مثل سکو در اطراف زمین قرار دهید.

 گام ششم: کدنویسی برای حرکت (GDScript for Movement)

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

```gdscript

# فرض کنید نام والد CharacterBody3D است

extends CharacterBody3D

@export var speed = 5.0  # سرعت حرکت

@export var jump_velocity = 4.5 # قدرت پرش

# تابع physics_process در هر فریم physics اجرا می‌شود

func _physics_process(delta):

    # گرفتن ورودی از کاربر (مثلاً کلیدهای جهت‌نما)

    var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")

    # محاسبه جهت حرکت بر اساس دوربین (اگر دوربین داشته باشیم)

    # ... (این قسمت پیچیده‌تر است و برای شروع لازم نیست)

    # اعمال گرانش

    if not is_on_floor():

        velocity.y -= gravity * delta # gravity باید تعریف شده باشد

    # پرش

    if Input.is_action_just_pressed("ui_up") and is_on_floor():

        velocity.y = jump_velocity

    # حرکت افقی

    var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()

    if direction:

        velocity.x = direction.x * speed

        velocity.z = direction.z * speed

    else:

        velocity.x = move_toward(velocity.x, 0, speed)

        velocity.z = move_toward(velocity.z, 0, speed)

    move_and_slide() # این تابع خود حرکت را اعمال می‌کند

**نکته جالب:** در کد بالا، `@export` به شما اجازه می‌دهد تا متغیرهایی مثل `speed` و `jump_velocity` را مستقیماً از داخل محیط گودوت (Inspector) تنظیم کنید، بدون اینکه نیاز باشد کد را دوباره ویرایش کنید!

گام هفتم: افزودن دوربین (The Camera)

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

گام هشتم: اضافه کردن فیزیک و برخورد (Physics & Collisions)

*   **برای زمین و سکوها:** هر کدام از این‌ها باید یک `StaticBody3D` و یک `CollisionShape3D` داشته باشند تا گودوت بفهمد این‌ها اجسام سختی هستند که کاراکتر نمی‌تواند از آن‌ها عبور کند.

*   **برای کاراکتر:** همانطور که گفته شد، `CharacterBody3D` و `CollisionShape3D` (معمولاً یک `BoxShape3D`) برای کاراکتر لازم است تا بتواند با زمین و سکوها برخورد کند.

گام نهم: مدیریت صحنه‌ها و انتقال (Scene Management)

*   **صحنه اصلی:** صحنه‌ای که الان ساخته‌اید را به عنوان صحنه اصلی (`Main Scene`) ذخیره کنید.

*   **انتقال بین مراحل:** اگر بازی شما مراحل مختلف دارد، می‌توانید با کدنویسی، یک صحنه را بارگذاری و صحنه قبلی را حذف کنید.

نکته حرفه‌ای: استفاده از "Signals" (سیگنال‌ها)

یکی از زیباترین ویژگی‌های گودوت، سیستم سیگنال آن است. فرض کنید کاراکتر شما به بالای سکو می‌رسد. سکو می‌تواند یک «سیگنال» (مثل یک پیام) بفرستد که «من توسط کاراکتر لمس شدم!». سپس کاراکتر شما این پیام را دریافت کرده و مثلاً امتیاز شما را افزایش می‌دهد یا باعث می‌شود سکو ناپدید شود. این کار باعث می‌شود کدها بسیار تمیز و سازمان‌یافته شوند.

0
ادامه مطلب
درباره

دیجیتال نیوز | اخبار فوری و دنیای فناوری

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

آمار بازدید
  • بازدیدکنندگان آنلاین 1
  • بازدید امروز 1
  • بازدید گوگل امروز 0
  • بازدیدکنندگان امروز 1
  • بازدیدکنندگان دیروز 0
  • بازدیدکنندگان هفتگی 2
  • بازدیدکنندگان ماهانه 9
قدرت گرفته از بلاگیکس ©