ویژگی های جدید انجین بازی سازی Godot 4.7.2

ویژگی های جدید انجین بازی سازی Godot 4.7.2

از اصلاح عملکرد موس تا نورپردازی پیشرفته؛ تغییراتی که در ساخت بازی اهمیت دارند

تاریخ به‌روزرسانی مقاله: ۱۶ اکتبر ۲۰۲۶


Godot 4.7.2؛ وقتی جزئیات، کیفیت بازی را تغییر می‌دهند

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

اهمیت Godot 4.7.2 دقیقاً در همین نقطه است: برطرف‌کردن مشکلاتی که شاید در تصاویر تبلیغاتی دیده نشوند، اما هنگام توسعه و اجرای بازی احساس می‌شوند.

برای شناخت درست این نسخه، باید میان امکانات تازه شاخه ۴.۷ و اصلاحات اختصاصی ۴.۷.۲ تفاوت بگذاریم. این تفکیک کمک می‌کند بدانیم با ارتقای پروژه چه چیزی به دست می‌آوریم و چه انتظاری منطقی است.

Godot 4.7.2 چه نوع به‌روزرسانی است؟

گودوت ۴.۷.۲ در ۱۸ اوت ۲۰۲۶ منتشر شد و دومین به‌روزرسانی نگه‌داری شاخه ۴.۷ است. این انتشار با مشارکت ۳۹ نفر، ۵۷ اصلاح را دربر می‌گیرد.

در شماره‌گذاری این نسخه:

  • ۴ به نسل اصلی موتور اشاره دارد.
  • ۷ شاخه‌ای را مشخص می‌کند که قابلیت‌های تازه در آن معرفی شده‌اند.
  • ۲ نشان‌دهنده دومین انتشار اصلاحی آن شاخه است.

بنابراین، نباید امکاناتی مانند خروجی HDR یا نورهای سطحی را اختراع نسخه ۴.۷.۲ معرفی کنیم. این قابلیت‌ها در شاخه ۴.۷ عرضه شدند و در نسخه ۴.۷.۲ نیز در دسترس هستند؛ تغییر اصلی این انتشار، اصلاح و قابل‌اعتمادترکردن بخش‌هایی از موتور است.

جایگاه این نسخه در زمان نگارش

تا تاریخ بررسی این مقاله، ۴.۷.۲ جدیدترین نسخه پایدار درج‌شده در آرشیو رسمی گودوت است. نسخه ۴.۸ نیز وارد مرحله بتا شده، اما انتشار آزمایشی با نسخه پایدار تفاوت دارد.

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

چرا یک نسخه اصلاحی ارزش بررسی دارد؟

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

یا در یک بازی چندنفره، حذف یک شیء باعث شود همگام‌سازی شیئی دیگر مختل شود. چنین خطایی می‌تواند توسعه‌دهنده را ساعت‌ها درگیر بررسی کد شبکه کند.

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


ویژگی های جدید انجین بازی سازی Godot 4.7.2

مهم‌ترین تغییرات اختصاصی Godot 4.7.2

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

یکی از تغییرات کاربردی این نسخه، رفع مشکلات عملکرد هنگام حرکت موس‌هایی با Polling Rate بالا در ویندوز است.

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

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

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

۲. اصلاح یک مشکل مهم در همگام‌سازی بازی‌های چندنفره

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

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

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

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

۳. اصلاح محاسبات سایه‌های PCSS

نسخه ۴.۷.۲ خطایی در محاسبات سایه‌های PCSS را برطرف می‌کند که به استفاده از مقدار آغاز محدوده سایه در فضای مختصات نامناسب مربوط بود.

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

آزمون پیشنهادی: پیش از ارتقا، از یک صحنه با دوربین و نور ثابت تصویر بگیرید. پس از ارتقا همان نما را مقایسه کنید و سپس دوربین را حرکت دهید. تنظیمات نرمی سایه را زمانی تغییر دهید که تفاوت را در چند موقعیت بررسی کرده باشید.

۴. اصلاحات کوچک‌تر، اما مؤثر در کار روزانه

تعدادی از اصلاحات دیگر این انتشار عبارت‌اند از:

  • رفع کرش هنگام ناموفق‌بودن بازکردن فایل گزارش برای نوشتن.
  • اصلاح ورودی BaseButton هنگام فعال‌بودن تبدیل نگه‌داشتن طولانی به راست‌کلیک.
  • اصلاح نمایش نشانگر Visual Profiler در نمودارهای نیمه‌پر.
  • اصلاح به‌روزرسانی رنگ‌های اشکال‌زدایی NavigationRegion3D.
  • اصلاح عرض تصاویر Asset Store در مقیاس‌های مختلف ویرایشگر.
  • اصلاح موقعیت پنجره IME در KDE Plasma و Wayland هنگام استفاده از مقیاس‌بندی کسری.

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


امکانات شاخه ۴.۷ که در Godot 4.7.2 در اختیار دارید

قابلیت‌های این صفحه با شاخه ۴.۷ معرفی شده‌اند. بررسی آن‌ها برای کسی که از نسخه‌های قدیمی‌تر به ۴.۷.۲ مهاجرت می‌کند ضروری است.

خروجی HDR؛ نمایش جزئیات بیشتر در روشنایی‌های شدید

گودوت پیش‌تر نیز برای پردازش داخلی نور از HDR استفاده می‌کرد. تغییر مهم شاخه ۴.۷، امکان خروجی HDR برای نمایشگر سازگار است.

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

این قابلیت در رندررهای Forward+ و Mobile پشتیبانی می‌شود؛ رندرر Compatibility از آن پشتیبانی نمی‌کند. پلتفرم‌های پشتیبانی‌شده شامل ویندوز، macOS، iOS، visionOS و لینوکس مبتنی بر Wayland هستند. پشتیبانی HDR اندروید در معرفی این قابلیت به آینده موکول شده است.

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

AreaLight3D؛ نورپردازی از یک سطح مستطیلی

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

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

پشتیبانی رندررها نیز یکسان نیست: در Compatibility این نورها سایه ایجاد نمی‌کنند و در Mobile رفتار نیم‌سایه محدودیت دارد.

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

انیمیشن رابط کاربری با Offset Transform

ویژگی‌های offset_transform_* در نودهای Control، جابه‌جایی، چرخش و تغییر مقیاس بصری را بدون برهم‌زدن چیدمان مدیریت‌شده توسط Container آسان‌تر می‌کنند.

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

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

DrawableTexture2D؛ ساخت بافت‌های قابل‌تغییر

DrawableTexture2D مسیر ساده‌تری برای نوشتن و ترکیب محتوا روی بافت فراهم می‌کند. برای نمونه، می‌توان آن را در طراحی یک بوم نقاشی یا سامانه ثبت اثر روی سطح بررسی کرد.

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

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

شاخه ۴.۷ امکانات دیگری نیز دارد:

  • پیش‌نمایش درون ویرایشگر برای عملیات شیدرهای متنی.
  • اتصال رأس‌های مدل‌ها با Vertex Snapping در محیط سه‌بعدی.
  • تعیین جهت دلخواه برخورد یک‌طرفه در CollisionShape2D.
  • گرادیان مخروطی در GradientTexture2D.
  • تجربه تازه Asset Store و یکپارچگی بهتر با محیط ساخت اندرویدی GABE.

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


راهنمای کاربردی ارتقا و پرسش‌های متداول

چه کسانی بیشتر از این نسخه بهره می‌برند؟

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

نوع پروژه تغییر مرتبط آزمون پیشنهادی
بازی اول‌شخص ویندوزی اصلاح پردازش موس با نرخ بالا مقایسه زمان فریم هنگام چرخاندن دوربین
بازی چندنفره اصلاح همگام‌سازی نودها ایجاد و حذف هم‌زمان اشیا توسط چند بازیکن
بازی سه‌بعدی با سایه نرم اصلاح PCSS مقایسه سایه‌ها در چند موقعیت دوربین
بازی با رابط متحرک Offset Transform شاخه ۴.۷ بررسی چیدمان و محدوده دریافت ورودی
پروژه با نورپردازی پیشرفته HDR و AreaLight3D بررسی کیفیت تصویر و هزینه GPU
پروژه مبتنی بر افزونه تغییرات سازگاری اجرای ابزارها و ساخت خروجی نهایی

ارتقای پروژه را در شش مرحله انجام دهید

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

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

۳. تفاوت مسیر مهاجرت را جدی بگیرید.
رفتن از ۴.۷.۱ به ۴.۷.۲ با رفتن از ۴.۶ به ۴.۷.۲ یکسان نیست. در مسیر دوم، تغییرات شاخه ۴.۷ نیز وارد پروژه می‌شوند. راهنمای مهاجرت، تغییراتی در APIها و سازگاری GDScript و C# را مشخص کرده است.

۴. وابستگی‌ها را بررسی کنید.
افزونه‌های ویرایشگر، کتابخانه‌های C# و افزونه‌های بومی می‌توانند نیازمند بررسی یا بازسازی باشند. بازشدن صحنه اصلی به‌تنهایی نشانه سازگاری کامل نیست.

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

۶. نتیجه را ثبت کنید.
مشخص کنید چه مشکلی برطرف شده، چه رفتاری تغییر کرده و آیا مشکل تازه‌ای مشاهده شده است. این یادداشت کوتاه، تصمیم نهایی را از حدس به ارزیابی تبدیل می‌کند.

آیا Godot 4.7.2 همه بازی‌ها را سریع‌تر می‌کند؟

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

آیا برای استفاده از HDR فقط نصب نسخه جدید کافی است؟

خیر. نمایشگر، سیستم‌عامل، تنظیمات و رندرر باید از مسیر خروجی HDR پشتیبانی کنند. همچنین باید ظاهر بازی را برای شرایط SDR نیز مناسب نگه دارید.

آیا ارتقا از ۴.۷.۱ بدون ریسک است؟

در اعلام انتشار، ناسازگاری شناخته‌شده‌ای با ۴.۷.۱ گزارش نشده بود؛ این موضوع تضمین نمی‌کند که هیچ پروژه‌ای با رفتار متفاوت روبه‌رو نشود. برای نمونه، اصلاح سایه‌ها می‌تواند ظاهر قبلی را تغییر دهد.

آیا بهتر است مستقیماً سراغ ۴.۸ بتا برویم؟

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

ارزش Godot 4.7.2 در ترکیب امکانات شاخه ۴.۷ با اصلاحاتی است که توسعه و اجرای بازی را قابل‌اعتمادتر می‌کنند. بهترین استفاده از این نسخه زمانی اتفاق می‌افتد که قابلیت‌ها را متناسب با پروژه انتخاب کنید و نتیجه ارتقا را با آزمایش بسنجید.


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


منابع مقاله

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

۱. Maintenance release: Godot 4.7.2 — Godot Engine
تاریخ انتشار، تعداد اصلاحات، تغییرات اختصاصی نسخه و وضعیت ناسازگاری‌های شناخته‌شده. Godot Engine

۲. Godot Download Archive — Godot Engine
وضعیت انتشار پایدار ۴.۷.۲ و نسخه آزمایشی ۴.۸ در زمان بررسی مقاله. Godot Engine

۳. Godot 4.7: Lights, Camera, Action! — Godot Engine
معرفی قابلیت‌های شاخه ۴.۷، ابزارهای ویرایشگر، رابط کاربری، امکانات دوبعدی و محیط اندروید. Godot Engine

۴. Fix performance issues when moving the mouse with high polling rate on Windows — Pull Request #109639
توضیحات فنی و آزمایش‌های مربوط به اصلاح پردازش حرکت موس در ویندوز. GitHub

۵. Fix peers stopping replication on deleting node they spawned with MultiplayerSpawner — Pull Request #109864
شرح خطای همگام‌سازی، شناسه نودها و اصلاح تشخیص همتای مبدأ. GitHub

۶. Fix PCSS shadows using shadow range begin in the wrong space — Pull Request #120774
شرح اصلاح فضای مختصات در محاسبات سایه و احتمال تغییر ظاهر نرمی سایه‌ها. GitHub

۷. HDR output arrives in Godot 4.7 — Godot Engine
تفاوت پردازش داخلی و خروجی HDR، پلتفرم‌ها و محدودیت رندررها. Godot Engine

۸. AreaLight3D — Godot Engine 4.7 Documentation
ویژگی‌های نور سطحی، محدودیت سایه‌ها و ملاحظات هزینه پردازشی. Godot Engine (4.7) documentation in English

۹. Control — Godot Engine Documentation
مستندات نودهای رابط کاربری و ویژگی‌های مرتبط با تبدیل‌های بصری؛ زمان معرفی قابلیت با صفحه انتشار ۴.۷ تطبیق داده شده است. Godot Engine (latest) documentation in English

۱۰. DrawableTexture2D — Godot Engine 4.7 Documentation
رسم و ترکیب محتوا روی بافت و وضعیت آزمایشی برخی متدها. Godot Engine (4.7) documentation in English

۱۱. Upgrading from Godot 4.6 to Godot 4.7 — Godot Engine Documentation
تغییرات API و تفاوت‌های سازگاری هنگام مهاجرت میان دو شاخه. Godot Engine (4.7) documentation in English

۱۲. Godot release policy — Godot Engine Documentation
تعریف نسخه‌های اصلاحی، سیاست پشتیبانی و تفاوت انتشار پایدار با پیش‌انتشار. Godot Engine (stable) documentation in English

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوزده − هفت =