توضیحات و مشخصات فنی
دانلود Unity 6.6.7f1؛ معرفی قابلیتها و تغییرات جدید یونیتی 6.6
دانلود موتور بازیسازی Unity 6.6.7f1 برای ویندوز، لینوکس و مک؛ بررسی قابلیتهای جدید، بهبود عملکرد، ابزارهای گرافیکی و تغییرات مهم این نسخه از موتور بازیسازی یونیتی.
معرفی Unity 6.6
یونیتی 6.6 یکی از نسخههای خانواده Unity 6 است که با تمرکز بر سرعت توسعه بازی، بهبود عملکرد و گسترش امکانات برنامهنویسی، گرافیک، نورپردازی و مدیریت پروژه معرفی شده است.
در این نسخه، قابلیتهای متعددی برای توسعهدهندگان بازیهای دوبعدی و سهبعدی مطرح شده است. پشتیبانی از Dictionary در Inspector، ابزارهای تحلیل Build، بهبود امکانات گرافیکی و قابلیتهای مرتبط با WebGPU از جمله موضوعات مهم این نسخه هستند.
در ادامه، مهمترین قابلیتها و تغییرات Unity 6.6 را بررسی میکنیم تا بتوانید با آگاهی بیشتری درباره استفاده از این نسخه در پروژه خود تصمیم بگیرید.
افزایش سرعت ورود به Play Mode
یکی از تغییرات مطرحشده برای یونیتی 6.6، بهبود سرعت ورود به حالت Play Mode است. این قابلیت میتواند زمان انتظار هنگام اجرای بازی و آزمایش تغییرات را کاهش دهد.
در صورت غیرفعال بودن Domain Reload، محیط اجرا هنگام ورود به Play Mode دیگر Domain را مجدداً بارگذاری نمیکند و تنها بارگذاری مجدد Scene انجام میشود.
این رفتار در پروژههای بزرگ که اسکریپتهای متعددی دارند، میتواند زمان تکرار چرخه توسعه و آزمایش بازی را کاهش دهد. بااینحال، متغیرهای Static لزوماً بهصورت خودکار ریست نمیشوند و ممکن است به مدیریت مقداردهی اولیه نیاز داشته باشند.
پشتیبانی از Dictionary در Inspector
Dictionary یکی از ساختارهای داده پرکاربرد در C# است که اطلاعات را در قالب جفتهای کلید و مقدار نگهداری میکند. پشتیبانی از Serialization برای این ساختار میتواند مدیریت دادهها را در محیط Editor سادهتر کند.
در نسخههایی که این قابلیت برای نوع موردنظر پشتیبانی میشود، میتوان با استفاده از ویژگی [SerializeField] دادهها را در Inspector نمایش داد و ویرایش کرد.
این قابلیت برای مدیریت تنظیمات بازی، دادههای آیتمها، مشخصات شخصیتها و اطلاعات مرتبط با گیمپلی کاربرد دارد. بااینحال، پشتیبانی از همه انواع کلیدها و مقادیر را نباید بدون بررسی مستندات نسخه فرض کرد.
[SerializeField]
private Dictionary<string, int> itemQuantities;
محیط Hierarchy جدید و سریعتر
پنجره Hierarchy برای مشاهده و مدیریت GameObjectهای موجود در Scene استفاده میشود. بهبود این پنجره میتواند کار با صحنههای بزرگ و ساختارهای پیچیده را آسانتر کند.
- بهبود عملکرد در صحنههای بزرگ
- امکان اسکرول افقی در نمای Hierarchy
- ستونهای قابل تنظیم برای نمایش اطلاعات GameObjectها
- نمایش اطلاعاتی مانند Layer و Tag
- امکانات بیشتر برای سفارشیسازی ظاهر سطرها و آیکونها
- APIهای مرتبط با توسعه ابزارهای اختصاصی Editor
این امکانات بهویژه در پروژههایی که تعداد زیادی GameObject دارند، میتوانند سرعت دسترسی به اطلاعات و مدیریت صحنه را افزایش دهند.
سیستم نورپردازی Unity Compute Light Baker
سیستمهای Baking نور برای محاسبه و ذخیره اطلاعات نورپردازی پیش از اجرای بازی استفاده میشوند. این اطلاعات میتوانند کیفیت نورپردازی را بهبود دهند و بخشی از هزینه پردازش را از زمان اجرای بازی به مرحله آمادهسازی منتقل کنند.
در توضیحات این قابلیت، استفاده از Compute Shader و فناوریهای شتابدهی محاسباتی برای پردازش دادههای نورپردازی مطرح شده است. Lightmap، Light Probe و Adaptive Probe Volume از فناوریهای مرتبط با این حوزه هستند.
نتیجه نهایی به سختافزار، تنظیمات پروژه، نوع صحنه و قابلیتهای پشتیبانیشده بستگی دارد؛ بنابراین پیش از استفاده در پروژههای بزرگ، بهتر است زمان Baking و کیفیت خروجی را مقایسه کنید.
بهبود عملکرد URP و ابزارهای گرافیکی
Universal Render Pipeline یا URP یکی از مسیرهای رندرینگ یونیتی است که برای ساخت بازیهای متنوع، از پروژههای موبایلی تا بسیاری از بازیهای رایانهای، استفاده میشود.
ابزارهای تحلیل و امکانات گرافیکی مطرحشده در این بخش عبارتاند از:
- ابزار URP Settings Analyzer برای بررسی تنظیمات رندرینگ
- نمایش اطلاعات GPU Resident Drawer در Profiler
- نمایش مقادیر Constant Buffer در Frame Debugger
- بهبود مسیرهای خواندن Depth Buffer در برخی پیکربندیهای گرافیکی
- امکانات بیشتر برای بررسی Shader Variantها و فرایند کامپایل Shader
این ابزارها میتوانند شناسایی مشکلات رندرینگ و بررسی هزینههای پردازشی را آسانتر کنند. میزان تأثیر آنها به تنظیمات پروژه و سختافزار مقصد وابسته است.
امکانات Shader Graph و Visual Effect Graph
Shader Graph و Visual Effect Graph ابزارهایی برای ساخت جلوههای گرافیکی و بصری در یونیتی هستند. توسعه این ابزارها میتواند طراحی Shaderها و ایجاد افکتهای پیچیده را سادهتر کند.
- امکانات تکمیلی برای ساخت Shaderهای سفارشی
- یکپارچگی بهتر میان ابزارهای گرافیکی سازگار
- قالبهای مرتبط با URP برای برخی جلوههای Particle System
- امکانات GPU Instancing برای برخی Mesh Particleها
- Nodeهای جدید برای طراحی جلوههای بصری
هنگام استفاده از این قابلیتها، سازگاری نسخه پکیجها و Render Pipeline پروژه را بررسی کنید؛ زیرا همه امکانات الزاماً در تمام پیکربندیها قابل استفاده نیستند.
قابلیتهای جدید توسعه بازیهای دوبعدی
بازیهای دوبعدی نیز از بهبودهای ابزارهای گرافیکی و امکانات تحلیل عملکرد بهره میبرند. این قابلیتها میتوانند به مدیریت بهتر Spriteها، نورپردازی دوبعدی و Tilemap کمک کنند.
- امکانات بیشتر برای کنترل نورهای دوبعدی با Rendering Layer
- بهینهسازیهای مرتبط با Shader Variantهای نورپردازی 2D
- امکانات مرتبط با سایه Spriteهای دارای GPU Skinning
- روشهای جدید تولید Mesh برای Spriteها، در صورت پشتیبانی
- بهبودهای احتمالی در Tile Palette و ابزارهای Tilemap
- ابزارهای Profiler برای تحلیل انیمیشن و گرافیک دوبعدی
توسعهدهندگان بازیهای دوبعدی میتوانند با اندازهگیری عملکرد پروژه، مشخص کنند کدام تغییرات برای صحنهها و سختافزار مقصد آنها بیشترین فایده را دارند.
مدیریت محتوای بازی و Content Directories
مدیریت منابع بازی یکی از بخشهای مهم توسعه پروژههای بزرگ است. مدل بارگذاری محتوا، نحوه دسترسی به Assetها و زمان بارگذاری آنها میتواند بر مصرف حافظه و تجربه کاربر تأثیر بگذارد.
قابلیتهای مرتبط با Content Directories با هدف مدیریت انعطافپذیرتر محتوای محلی مطرح شدهاند. چنین رویکردی میتواند بارگذاری منابع موردنیاز را متناسب با ساختار پروژه سادهتر کند.
اگر پروژه از Addressables یا AssetBundle استفاده میکند، بهتر است پیش از تغییر معماری منابع، نحوه سازگاری این سیستمها و مسیرهای فعلی بارگذاری محتوا بررسی شود.
ابزار Build Analysis برای بررسی خروجی بازی
زمان ساخت خروجی، اندازه نهایی بازی و تعداد منابع استفادهشده از عوامل مهم در انتشار پروژههای یونیتی هستند. ابزارهای تحلیل Build به توسعهدهندگان کمک میکنند اطلاعات بیشتری درباره فرایند ساخت و خروجی نهایی به دست آورند.
مواردی که در تحلیل Build اهمیت دارند عبارتاند از:
- بررسی زمان ساخت خروجی
- تحلیل حجم نهایی Build
- شناسایی فایلها و منابع حجیم
- بررسی وابستگی میان Assetها
- شناسایی مراحل زمانبر فرایند Build
- بررسی خطاها و دلایل احتمالی شکست ساخت خروجی
با استفاده از این اطلاعات میتوان برای کاهش حجم بازی، بهینهسازی منابع و کوتاهتر کردن زمان انتشار برنامهریزی کرد.
پشتیبانی از WebGPU و توسعه بازیهای تحت وب
WebGPU یک API گرافیکی برای وب است که امکاناتی برای پردازش گرافیکی و محاسباتی روی GPU فراهم میکند. پشتیبانی از این فناوری در موتور بازیسازی میتواند مسیرهای تازهای برای اجرای محتوای گرافیکی در مرورگر ایجاد کند.
قابلیتهایی مانند Compute Shader، پردازش GPU و بعضی جلوههای گرافیکی، بسته به پیادهسازی و محدودیتهای مرورگر، میتوانند در توسعه بازیهای تحت وب کاربرد داشته باشند.
WebAssembly64 نیز در محیطهای سازگار امکان استفاده از فضای آدرس حافظه گستردهتری را فراهم میکند. در کنار آن، بارگذاری مرحلهای منابع میتواند در صورت پیادهسازی مناسب، زمان انتظار اولیه بازی را کاهش دهد.
بهبود رابط کاربری بازیها
رابط کاربری باید روی اندازههای مختلف صفحهنمایش و دستگاههای گوناگون بهدرستی نمایش داده شود. در بازیهای موبایلی، Safe Area و محدودیتهای نمایشگر اهمیت ویژهای دارند.
کامپوننت SafeArea و امکانات مرتبط با Layout میتوانند در طراحی رابطهایی کمک کنند که با بریدگی نمایشگر، گوشههای گرد و نواحی مربوط به ژستهای حرکتی تداخل نداشته باشند.
برای دستیابی به نتیجه مناسب، رابط کاربری را در نسبتهای تصویر مختلف، اندازههای متفاوت صفحه و دستگاههای واقعی بررسی کنید.
امکانات XR و پلتفرمهای مختلف
توسعه برنامههای واقعیت مجازی، واقعیت افزوده و واقعیت ترکیبی به سازگاری سختافزار، سیستم ردیابی و مدیریت عملکرد وابسته است. فناوریهای XR ابزارهایی برای ساخت تجربههای تعاملی پیشرفتهتر در اختیار توسعهدهندگان قرار میدهند.
امکانات مرتبط با OpenXR، ردیابی دست، صدای فضایی و بهینهسازی عملکرد دستگاههای XR از موضوعات مهم این حوزه هستند. قابلیت Adaptive Performance نیز میتواند در پیکربندیهای سازگار برای مدیریت عملکرد و شرایط حرارتی مورد استفاده قرار گیرد.
پیش از انتخاب نسخه نهایی برای پروژه XR، سازگاری SDKها، پکیجها و دستگاه مقصد را بررسی کنید.
تغییرات مهم برای برنامهنویسان و توسعهدهندگان
ارتقای نسخه موتور بازیسازی ممکن است بر رفتار کدها، پکیجها، ابزارهای Editor و فرایند ساخت خروجی تأثیر بگذارد. به همین دلیل، بررسی تغییرات ناسازگار پیش از ارتقای پروژه اهمیت دارد.
- بررسی تغییرات رفتار Play Mode و مقداردهی متغیرهای Static
- بررسی سازگاری Serialization و ساختارهای Dictionary
- بررسی نسخه Cinemachine و سایر پکیجهای پروژه
- بررسی تغییرات فرمت فایلهای YAML و سازگاری ابزارها
- بررسی وضعیت Dynamic Batching و روشهای جایگزین
- بررسی تغییرات API و رفتارهای قبلی موتور
تغییرات و رفع اشکالات Unity 6.6.7f1
در بررسی نسخههای اصلاحی، علاوه بر قابلیتهای اصلی خانواده Unity 6.6، باید به تغییرات مربوط به رفع باگها، پایداری Editor و سازگاری پکیجها نیز توجه کرد.
موارد زیر در اطلاعات ارائهشده برای این نسخه ذکر شدهاند؛ برای انتشار نهایی مقاله، لازم است هر مورد با Release Notes رسمی همین نسخه تطبیق داده شود.
- رفع برخی مشکلات نورپردازی دوبعدی و Shadow Caster
- اصلاح مشکلات URP Decal در اندروید
- رفع برخی ایرادهای گرافیکی HDRP در آسمان و سطوح آب
- اصلاح مشکلات مرتبط با IL2CPP و مدیریت حافظه
- رفع بعضی مشکلات AsyncGPUReadback
- اصلاح برخی خطاهای Editor و Asset Pipeline
- بهبود پایداری SubSceneها در Entities
- رفع برخی مشکلات انیمیشن و رابط کاربری
- اصلاح مشکلات مرتبط با WebGPU
- بهروزرسانی پکیجهایی مانند Input System، ProBuilder و AI Navigation
آیا Unity 6.6.7f1 برای پروژه شما مناسب است؟
خانواده Unity 6 با تمرکز بر بهبود فرایند توسعه، ابزارهای گرافیکی، مدیریت منابع و امکانات برنامهنویسی ارائه شده است. برای ارزیابی Unity 6.6.7f1 نیز باید قابلیتهای موردنیاز پروژه، سازگاری پکیجها و کیفیت خروجی را در نظر بگیرید.
اگر قصد شروع یک پروژه جدید را دارید، میتوانید نسخه موردنظر را در یک پروژه آزمایشی بررسی کنید. در پروژههایی که در مراحل پایانی توسعه یا انتشار هستند، بهتر است پیش از ارتقا، سازگاری و پایداری نسخه جدید را بهطور کامل آزمایش کنید.
بررسی نسخهها و انتشارهای رسمی Unity