>_ ᴄᴏᴅᴇ ᴛʜᴇʀᴀᴘʏ
65 subscribers
142 photos
69 videos
39 files
51 links
加入频道
>_ ᴄᴏᴅᴇ ᴛʜᴇʀᴀᴘʏ
Video
معمولا توی جلوه‌های ویژه ریل‌تایم (بازی) از پارتیکل ها استفاده میشه که معمولا کواد (quad) هستن و یه تکسچر روشون رندر میشه.
برای چیزایی مثل دود، ابر .... که والومتریک هستن (حجم دارن، سطح ندارن) نورپردازیی که روی کواد انجام بشه زیاد واقعی بنظر نمیرسه.
(چونکه کواد یه سطح صافه و معمولا هم بیلبورد میشه؛ یعنی میچرخه که به سمت دوربین باشه🤷‍♂)
یه تکنیکی که میتونه حس والیومتریک بودن رو ایجاد کنه اینه که دود یا... رو ۶ بار رندر میکنیم با نورپردازی از ۶ جهت مختلف (چپ، راست، بالا، پایین، عقب، جلو) بعد،
هر ۳ تا از این ۶ جهت رو توی rgb یه تکسچر پک میکنیم (این تکنینکو بهش  Gray-Packing  یا  channel-packing میگن btw).
اینطوری دو تا تکسچر داریم که توی هر چنل تکسچر یکی از جهت‌ها پک شده.
تکسچری که راست، بالا، عقب رو داره رو میگیم Positive و اون یکی تکسچر رو Negative بهش میگیم.
بعد توی شیدر این تکسچرا بِلِند میشن براساس جهت نور.

حالا شاید بپرسید که اگر بخایم این تکنیکو برای چیزی که رنگ داشته باشه (مثلا انفجار) استفاده کنیم، اون وقت چیکار کنیم؟
چون دو تا تکسچرمون (negative, positive) یکی هستن، فقط نورپردازیش فرق میکنه، یکی از تکسچر ها ترنسپرنسی رو توی چنل آلفا داشته باشه کافیه، و چنل آلفای تکسچر دومی خالی میمونه، که میتونیم توش یه مسک داشته باشیم که برای سمپل کردن یک گردینت (Gradient / LUT) استفاده کنیم برای اضافه کردن رنگ به تکسچر.
برای چیزایی مثل انفجار حتی میشه بجای گردینت از Backbody Radiation  استفاده کرد، که براساس حرارت رنگ و نور رو محاسبه میکنه.
This media is not supported in your browser
VIEW IN TELEGRAM
دلیل اصلی اینکه LOD باعث بهینه شدن میشه (علاوه‌براینکه حجم مش کمتره و پهنای باند کمتری از ویدیومموری مصرف میکنه و تعداد ورتکس‌ها کمتره و ورکتس شیدر کمتری اجرا میشه) اینه که جی‌پی‌یو تراینگل ها رو وقتی رسترایز میکنه (تبدیل تراینگل های پروجکت شده به شیدینگ فرگمنت یا پیکسل‌هایی که قراره فرگمنت شیدر روشون اجرا بشه)، پیکسل به پیکسل پردازش نمیشه و معمولا ۴ تایی پیکسل ها پردازش میشن، به این چهار تا پیکسل که 2x2 هستن میگیم quad و اگر تراینگل ها خیلی روی صفحه کوچک باشند، پردازش جی‌پی‌یو به شدت هدر میره (مثلا اگر هر تراینگل اندازه یک پیکسل باشه ۷۵% از پردازش کواد هدر رفته، بعد تراینگل بعدی که کنار این هست هم باعث میشه که همین کواد دوباره پردازش بشه و ...).
به این مشکل میگیم Quad Overdraw و اینجا میبینید که مشی که ۵ تا lod داره اصلا Overdraw نداره ولی همون مش بدون lod به‌شدت Overdraw داره.
👍211👏1
This media is not supported in your browser
VIEW IN TELEGRAM
pov: you suck at basic arithmetics🤦‍♂

فکر کردم 8x8 میشه 68 تا و تایم‌لاین رو طوری رندر میخاستم کنم که 68 فریم بده و همونم حتی اشتباه حساب کردم و 67 تا رندر شد 🫠😂😂
شاید بپرسید چرا حتما فلیپ‌بوک باید مربعی باشه (8x8) ؟
دلیلش اینه که تکسچر کمپرشن معمولا ۴ تایی پیکسلارو فشرده میکنه، اگر رزلوشن تکسچر مربعی باشه بهتر فشرده میشه (با آرتیفکت‌های کمتری).
توی 1:50 می‌بینید که خیلی تکسچر کیفیتش کمه و تا وقتی که رزلوشن تکسچر کمپرشن رو روی 16k نمیزارم خوب دیده نمیشه جزئیات تکسچر.
1
>_ ᴄᴏᴅᴇ ᴛʜᴇʀᴀᴘʏ
Video
توی بلندر دو تا نرمال رندر میکنیم یکی نسبت به دوربین یکی هم نرمال world space بعد اینا رو به هم دیگه اضافه میکنیم ( نرمال world سه تا جهت داره که دو تاشو باید به نرمال دوربین که دو جهت داره اضافه کنیم).
اسپرایت میتونه نورپردازی درست داشته باشه و حس سه‌بعدی بودن بده.
👍1