ویرگول
ورودثبت نام
that dreamer guy
that dreamer guy
خواندن ۲ دقیقه·۴ سال پیش

نورپردازی اپتیمایز در یونیتی، یا lookdev with light probe group in unity

اگر علاقه مندید که رفلکشین های realtime و raytrace رو برای اجسام متحرکتون در صحنه ی بازی داشته باشید و به علاوه دوست دارید این پردازش اپتیمایز باشه تا تجربه بازی رو در دستگاه های موبایل و کم توان دچار خدشه نکنه light probe group در یونیتی به کارتون میاد. به طور خلاصه بخوام بگم شما با استفاده از این ابزار و نگاشت صحنتون به چندید قسمت ، می تونید تنها با استفاده از یک و تنها یک منبع نور ، رفلکشن مورد نظر رو در کل صحنه بگیرید.

خب برای آشنایی با روند کارش یک مثال رو میارم. اینجا ما یک صحنه ی ساده با چند دیواره داریم که کدام متریال به یک رنگ خاص دارند .

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

بعدش کافیه تیک static در تنظیمات تمام این دیوار ها رو بزنیم و در قسمت windows>rendering>lighting تیک auto generate برای بیک کردن نور به صورت اتوماتیک روشن باشه. اگر درست جلو برید یونیتی نور هارو برای آبجکت های استاتیکتون بیک می کنه که به تصویر زیر میرسیم

حالا صحنه ی ما اپتیمایز تر از قبله ولی زمانی که بخوایم یک آبجکت داینامیک در صحنه داشته باشیم (که قاعدتا داریم ) بدین صورت درمیاد

کاری که می تونیم انجام بدیم اینکه آبجکت داینامیکمون رو در یک بازه ی حرکت مشخص شده و محدود (به منظور بالا بردن پرفورمنس) به رفلکشن های برگشتی از دیواره ها بایند کنیم که این کار خیلی ساده با اضافه کردن یک گراف سه بعدی به نام light probe group از طریق راست کلید در hierarchy و سپس light>light probe group (یا روش های متناظر) بدست میاد. مثل عکس زیر

حال کره ی ما رفلکتارو میگیره اما در رنگ ها دقتی نداره چون نگاشت ما دقت لازمه رو نداره . حالا برای بالا بردن دقت می تونیم با افزودن نقطه های اضافه و تغییر موقعیت و نزدیک کردن نقاطه به دیواره ها کیفیت و دقت رنگ رفلت ها روی کره را افزاریش بدین اینکار توسط دکمه ی edit در تنظیمات light probe group قابل انجامه تا به چیزی به شکل زیر برسیم

حالا با حرکت دادن کره میبینم که رفلت ها به چه صورت تغییر می کنند.

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

امیدوارم به کارتون بیاد.

یونیتیunitylook devنور پردازیبهینه سازی
شاید از این پست‌ها خوشتان بیاید