در این دوره جامع، یک سیستم رابط کاربری فرانتاند با کیفیت AAA و تمامعیار را کاملاً از پایه با استفاده از چارچوب Common UI آنریل انجین 5 و C++ خواهید ساخت. از منوهای لایهای گرفته تا پشتیبانی کامل از گیمپد، یاد خواهید گرفت که چگونه رابطهای کاربری فراگیر و ماژولار طراحی شده برای پروژههای واقعی را ایجاد کنید.
داشتن تجربه اولیه با برنامهنویسی C++ در آنریل انجین ضروری است.
در ابتدا، پایه و اساس اصلی UI را راهاندازی خواهید کرد. ما یک ویجت طرحبندی اصلی ایجاد میکنیم، پشتههای ویجت را با استفاده از تگهای گیمپلی ثبت میکنیم و توابع ناهمزمان را برای نمایش ویجتها روی صفحه پیادهسازی خواهیم کرد. پس از آماده شدن این موارد، یک صفحه واکنشگرا "Press Any Key" (هر کلیدی را فشار دهید) میسازید و آن را با جریان ویجت جدید خود نمایش میدهید.
در مرحله بعد، یک سیستم منوی اصلی پویا ایجاد خواهید کرد. از دکمههای Common UI که توسط کلاسهای C++ بومی پشتیبانی میشوند، برای افزودن توضیحات متنی دکمهها، دکمههای عملیاتی و یک صفحه تأیید انعطافپذیر استفاده خواهیم کرد. همچنین اطمینان حاصل میکنیم که پشتیبانی کامل از گیمپد به طور یکپارچه ادغام شود. در طول مسیر، یاد میگیرید که چگونه ویژگیهای UI را به شیوهای ماژولار و قابل استفاده مجدد برای هر دو پروژههای بلوپرینت و C++ ساختاربندی کنید.
پس از اتمام منوی اصلی، به ساخت یک منوی تنظیمات قدرتمند میپردازید. این سیستم شامل دکمههای تب در بالا، یک پنل نمایش جزئیات در سمت راست و پشتیبانی از دستهبندیهای مختلف تنظیمات از جمله گیمپلی، صدا، گرافیک و ورودی خواهد بود. یاد خواهید گرفت که چگونه اشیاء داده را با سیستم Data Registry آنریل ترکیب کنید تا UI را به صورت پویا پر کنید.
پس از راهاندازی ساختار، بر روی عملکرد تمرکز خواهیم کرد. شما منطق بازنشانی مقادیر به حالت پیشفرض را پیادهسازی میکنید، نحوه تولید ویجتهای ورودی لیست را سفارشیسازی میکنید و یک سیستم سفارشی تنظیمات کاربر بازی (Game User Settings) ایجاد میکنید تا ترجیحات بازیکن را در فایلهای پیکربندی ذخیره و بارگذاری کنید.
با ایجاد این پایه، به سراغ تنظیمات صوتی و تصویری خواهیم رفت. شما کنترلهایی برای تنظیم حالت پنجره، وضوح (رزولوشن)، کیفیت سایه، محدودیت نرخ فریم و موارد دیگر اضافه خواهید کرد – در حالی که وابستگیهای داده و منطق شرطی را برای یک معماری پاک و مقیاسپذیر به درستی مدیریت میکنید.
در نهایت، صفحههای بارگذاری اولیه و حین بازی را پیادهسازی خواهید کرد که به طور یکپارچه در جریان UI پروژه شما ادغام میشوند و تجربهای روان و صیقلی را از زمان راهاندازی تا گیمپلی به بازیکنان ارائه میدهند.
Vince Petrelli
برنامه نویس/هنرمند سه بعدی
نمایش نظرات