سلام و درود خدمت دوستان عزیز و علاقمندان به مباحث آموزشی وب سایت پی وی لرن. با آموزش Unity در خدمتتون هستیم. شروع کار با UI در Unity رو داریم. در این بخش Render Mode رو بررسی خواهیم نمود.
در این بخش با روند طراحی برای User Interface یا UI در Unity آشنا می شویم. این پروسه شامل تنظیمات پایه و همچنین نمای کلی از عناصر مشترکی است که در یونیتی
حمل می شوند.
کار برای طراحی UI در یونیتی مسیری با کمی تفاوت از مسیری را که تاکنون طی کرده ایم را دنبال می کند. برای مبتدیان ، عناصر UI استاندارد GameObjects نیستند و به همین ترتیب قابل استفاده نیستند. عناصر UI متفاوت طراحی شده اند. دکمه منو که در رزولوشن ۴: ۳ درست به نظر می رسد، ممکن است در صورت عدم تنظیم درست در
رزولوشن ۱۶: ۹ کشیده یا تحریف به نظر برسد.
عناصر UI در یونیتی به طور مستقیم روی صحنه قرار نمی گیرند.
آن ها همیشه به عنوان کودکان یک GameObject ویژه به نام Canvas – بوم قرار می گیرند. Canvas مانند “صفحه رسم” برای UI در صحنه است ، که در آن همه عناصر UI
ارائه خواهد شد.
ایجاد یک عنصر UI از منوی Create context بدون بوم موجود به طور خودکار یک مورد ایجاد می کند.
بگذارید اکنون به Canvas GameOject نگاهی بیندازیم تا در مورد اجزای جدید بیش تر بدانیم.
به نظر می رسد که Rect Transform در بالا دارای بسیاری از ویژگی های جدید است که یک GameObject’s Transform استاندارد ندارد.
این امر به این دلیل است که در حالی که Transformation GameObject معمولی یک نکته تخیلی را در فضای سه بعدی توصیف می کند ، یک RectTransform مستطیل تخیلی را تعریف می کند. این بدان معنی است که ما برای مشخص کردن دقیق مکان مستطیل ، بزرگی و چگونگی جهت یابی آن، به خواص اضافی احتیاج داریم.
ما می توانیم برخی از خصوصیات استاندارد یک مستطیل مانند ارتفاع و عرض و همچنین دو خاصیت جدید با نام Anchors را ببینیم.
Anchors – لنگرها نقاطی هستند که سایر نهادها می توانند روی بوم قفل شوند.
این بدان معنی است که اگر یک عنصر UI (مثلاً یک دکمه) به بوم در سمت راست محکم شود ، با تغییر اندازه بوم ، اطمینان حاصل می شود که Button – دکمه همیشه در
سمت راست بوم است.
به طور پیش فرض ، شما نمی توانید شکل ناحیه بوم را تغییر دهید و یک مستطیل نسبتاً بزرگ در اطراف صحنه شما خواهد بود.
قسمت بعدی کامپوننت بوم است.
این اصلی ترین کامپوننت است که در مورد نحوه ترسیم UI چند گزینه عمومی دارد.
اولین گزینه ای که می بینیم Render Mode است.
این ویژگی روشی را که برای ترسیم بوم بر روی نمای بازی استفاده می شود ، تعریف می کند.
ما سه گزینه در لیست کشویی داریم.
بگذارید در ادامه مورد گزینه ها صحبت می کنیم.
این حالت برای منوها ، HUD ها و غیره استاندارد ترین است. این رابط کاربر یا UI را روی همه چیز در صحنه قرار می دهد ، چگونگی چیدمان و تنظیم آن. همچنین با تغییر اندازه
صفحه نمایش یا بازی ، UI را به خوبی مقیاس می کند.
این حالت پیش فرض Render Mode در Canvas است.
Screen Space – Camera یک پلن طرحی خیالی ایجاد می کند ، فاصله معین از دوربین را تنظیم می کند و تمام رابط کاربری را بر روی آن طراحی می کند. این بدان معنی است که ظاهر UI در صحنه به میزان زیادی به تنظیمات مورد استفاده دوربین، شامل پرسپکتیو ، میدان دید و غیره بستگی دارد.
در حالت World Space ، عناصر UI طوری رفتار می کنند که گویی آن ها، GameObjects عادی قرار گرفته در World هستند.
در حالت World Space آن ها شبیه به اسپریت ها هستند ، بنابراین آن ها معمولاً به عنوان بخشی از دنیای بازی به جای بازیکن ، مانند مانیتورها و نمایشگرهای بازی استفاده می شوند.
به دلیل همین ماهیت ، می توانید مقادیر Canvas RectTransform را در این حالت مستقیم تغییر دهید.
Canvas Scaler مجموعه ای از گزینه ها است که به شما امکان می دهد مقیاس و شکل ظاهری عناصر UI را به شکلی قطعی تر تنظیم کنید. این امکان را به شما می دهد تا هنگام تغییر اندازه صفحه ، نحوه تغییر اندازه عناصر UI خود را تغییر دهید. به عنوان مثال ، عناصر UI بدون در نظر گرفتن و همچنین نسبت به اندازه صفحه ، می توانند در همان
اندازه باقی بمانند ، یا می توانند مطابق با یک Reference Resolution مقیاس شوند.
Graphics Raycaster در وهله اول با raycasting (لینک به مستندات یونیتی برای Raycasting) عناصر UI و اطمینان از وقایع آغاز شده توسط کاربر مانند کلیک و درگ کردن به
درستی کار می کند.
در این بخش از آموزش یونیتی گزینه هایی که در قسمت Render Mode وجو داشتند رو بررسی نمودیم.
در بخش بعدی به مبحث دکمه ها در یونیتی می پردازیم.