توسعه دهندگان Assassin’s Creed Shadows از یوبیسافت جزئیات ویژگیهای منحصر به PS5 Pro را توضیح میدهند
یوبی سافت: ما بهعنوان گیمر همیشه از دیدن سختافزارهای جدید هیجانزده میشیم، اما بهعنوان توسعهدهنده، این هیجان حتی بیشتره.
کنسول PS5 Pro هم از این قاعده مستثنی نبود. به محض اینکه از قابلیتهای جدید این کنسول مطلع شدیم، مشتاق شدیم که ازشون استفاده کنیم.
کنسول PS5 Pro به ما این امکان رو داد که دیدگاه رندرینگ خودمون رو در همه حالتها کیفیت (Quality)، بالانس (Balanced) و پرفومنس (Performance) به حداکثر برسونیم.
اول بیایم سه بهبود اصلی تکنولوژیک رو مرور کنیم.
کنسول PS5 Pro نسبت به PS5 استاندارد سه بهبود کلیدی داره:
- پردازنده گرافیکی (GPU) سریعتری داره
- قابلیتهای جدید ریتریسینگ (پشتیبانی از BVH8)
- تکنولوژی (PSSR)
در مراحل اولیه طراحی Assassin’s Creed Shadows، تصمیم گرفتیم سیستم نورپردازی خودمون رو متحول کنیم و از سیستم pre-baked که برای نورپردازی (global illumination) استفاده میکردیم و انعطافپذیری محدودی توی بازی داشت، به یه سیستم ریتریسینگ در runtime تغییر بدیم.
این تغییر مزایای زیادی برای کیفیت تصویر داره و به ما اجازه میده که دنیای بازی پویاتر بشه، چون نورپردازی همیشه میتونه با اتفاقاتی که توی بازی میافته سازگار بشه.
کیفیت هم افزایش پیدا میکنه و جزئیات ظریف با استفاده از نورپردازی ریتریسینگ (RTGI) خودش رو نشون میده. در حالی که PS5 به ما اجازه میداد با پشتیبانی بومی از ریتریسینگ، بهصورت واقعبینانه 30 و 40 فریم بر ثانیه رو هدف قرار بدیم، اما به دلیل همه اتفاقاتی که روی GPU میافتاد مثل شبیهسازیها، رندر پالیگان ها و سایهزنی ، همچنین تغییر شکل کاراکترها و رندر مو رسیدن به 60 فریم بر ثانیه بهطور کامل ممکن نبود.
اما با معرفی PS5 Pro در سال گذشته، ما میدونستیم که همه ابزارهای لازم برای ساخت بهترین نسخه کنسولی Assassin’s Creed Shadows رو داریم.
بهخودیخود، GPU سریعتر PS5 Pro بدون نیاز به تلاش زیاد از طرف توسعهدهندهها عملکرد رو بهبود میده، اما تکنولوژیای که واقعاً بازی رو تغییر داد، قابلیتهای بهبودیافته ریتریسینگ PS5 Pro بود که با پشتیبانی از BVH8 (که مخفف "bounding volume hierarchy" هست و در ادامه توضیح میدیم) نسبت به BVH4 ارائه شد.
با پیادهسازی پشتیبانی از BVH8 روی PS5 Pro، تونستیم وظایف GPU مربوط به ریتریسینگ سختافزاری رو حدود 300 درصد سریعتر کنیم.
این دو ارتقای کلیدی یعنی GPU سریعتر و پشتیبانی از BVH8 به ما این امکان رو داد که بهصورت واقعبینانه 60 فریم بر ثانیه پایدار رو هدف قرار بدیم و در عین حال موتور نورپردازی ریتریسینگ نسل جدید خودمون رو به نمایش بذاریم.
تکنیک GI چیه؟
توی رندرینگ بازیها، Global Illumination به مجموعهای از تکنیکها گفته میشه که برای شبیهسازی نحوه تعامل نور با سطوح توی یه محیط سهبعدی استفاده میشه. به جای اینکه فقط اشیا با نور مستقیم از یه منبع نور (مثل خورشید یا لامپ) روشن بشن، تکنیک GI نور غیرمستقیم رو هم در نظر میگیره؛ نوری که از سطوح منعکس میشه و به روشنایی کلی صحنه کمک میکنه.
یه سناریو رو تصور کنید: اگه یه جعبه قرمز رو نزدیک یه دیوار سفید توی یه اتاق پرنور بذارید، رنگ قرمز روی دیوار نزدیکش پخش میشه.
ساختار BVH چیه؟
ساختار BVH یا "سلسلهمراتب حجم محدود" (bounding volume hierarchy) یه ساختار شتابدهندهست که برای استفاده از ریتریسینگ سختافزاری توی گرافیک سهبعدی خیلی مهمه.
میتونید اون رو مثل باکس هایی توی باکس های دیگه تصور کنید. اگه بخواید یه پرتو (ray) رو ردیابی کنید، اول باید مشخص کنید که کدوم باکس ها بزرگ با پرتو برخورد میکنن، بعد بهصورت بازگشتی (recursive) تست کنید. این همون چیزیه که ریتریسینگ رو با عملکردی که برای بازیهای مدرن لازمه ممکن میکنه.
معمولاً BVHها 4 باکس بزرگ دارن (BVH4)، یعنی هر باکس میتونه 4 باکس دیگه رو شامل بشه. با BVH8، ما 8 باکس توی هر باکس داریم، که باعث میشه پیمایش BVH برای وظایف ریتریسینگ GPU سریعتر بشه.
بازتابهای ریتریسینگ Ray Tracing Reflections:
تکنیک RTGI با 60 فریم بر ثانیه توی یه دنیای باز بهخودیخود یه دستاورد بزرگه اما با توجه به تأخیر Assassin’s Creed Shadows، ما وقت داشتیم که بررسی کنیم چطور میتونیم کار رو جلوتر ببریم و مطمئن شدیم که میتونیم بازتابهای ریتریسینگ (Ray-Traced Reflections) رو تا زمان عرضه پیادهسازی کنیم.
استفاده از بازتابهای ریتریسینگ خیلی از مشکلات تکنیکهای کلاسیک مثل SSLR و کیوبمپها (cube maps) رو حل میکنه.
در حالی که بعضی بازیها روی PS5 Pro فقط یه حالت 60 فریم بر ثانیه رو انتخاب کردن، رویکرد ما این بود: اگه انتخاب بین 30، 40 و 60 فریم بر ثانیه برای بازیکنهای PS5 خوب بود، چرا برای بازیکنهای PS5 Pro هم این انتخاب رو تکرار نکنیم، اگه بتونیم توی هر حالت بهبودهای معناداری ارائه بدیم؟
با بازتابهای ریتریسینگ، ما معتقدیم که یه پیشرفت بزرگ توی رندرینگ فوتورئالیستیک به دست اومده. این هم به لطف GPU سریعتر و هم افزایش 300 درصدی سرعت ریتریسینگ ممکن شد که با استفاده از BVH8 بهش رسیدیم.
توی زمان عرضه، بازتابهای ریتریسینگ رو فقط توی حالت کوالیتی (Quality Mode) ارائه کردیم، اما خوشحالیم که اعلام کنیم بهروزرسانی 1.0.2 بازتابهای ریتریسینگ رو به حالت بالانس (Balanced Mode) PS5 Pro هم اضافه کرده، که خیلی از شما درخواستش رو داده بودید. یه بار دیگه، حالت بالانس یه تعادل عالی بین کیفیت و عملکرد ارائه میده، برای بازیکنهایی که تلویزیونهای سازگار دارن.
بهطور خلاصه، PS5 Pro اینها رو به ارمغان میآره:
- تکنیک نورپردازی RTGI توی حالت پرفورمنس (Performance Mode) با 60 فریم بر ثانیه که در کنسول استاندارد نورپردازی بصورت pre baked شده هست.
- بازتابهای ریتریسینگ توی حالتهای کوالیتی و بالانس (که مکمل RTGI موجود توی PS5 استاندارد هست).
بازتابها (Reflections) چی هستن؟
بازتابها به نحوه انعکاس نور روی سطوح براق، فلزی و غیره اشاره دارن. در حالی که بازتابها بیشتر روی این نوع سطوح به چشم میان، اما بهصورت خیلی ظریف روی اکثر پیکسلهای صفحه تأثیر میذارن و تصویر رو واقعیتر میکنن. معمولاً این کار با استفاده از اطلاعاتی که روی صفحه هست انجام میشه، با تکنیکی به اسم بازتابهای محلی فضای صفحه (SSLR) یا با تکنیکهای قدیمیتر مثل کیوبمپها، که یا بهصورت آفلاین pre bake میشن یا توی بازی بهصورت پویا با تأخیر زیاد و رزولوشن پایینتر رندر میشن، به خاطر محدودیتهای حافظه و ذخیرهسازی.
بازتابهای ریتریسینگ مشکل اصلی SSLR رو حل میکنه، یعنی نمیتونه چیزایی که خارج از صفحه هستن رو بازتاب بده، و کیفیت خیلی بالاتری نسبت به کیوبمپها داره.
پشتیبانی از PSSR:
تا اینجا، ما فقط دو تا از سه بهبود کلیدی PS5 Pro رو پوشش دادیم. چیزی که باقی مونده، تکنولوژی PS5 Pro به اسم PlayStation Spectral Super Resolution یا همون PSSR هست.
اول بیایم توضیح بدیم که PSSR چیه. PSSR یه آپاسکیلر مبتنی بر هوش مصنوعیه، یعنی یه تصویر رو که با رزولوشن پایینتر (مثلاً 1080p) رندر شده میگیره و اون رو به 2160p آپاسکیل میکنه، به عبارتی 3 تا از 4 پیکسل رو حدس میزنه.
(آپاسکیل کردن چیز جدیدی نیست؛ ما از زمان Assassin’s Creed Origins از تکنیکی به اسم Temporal Anti-Aliasing یا TAA (TAAU) برای آپاسکیل کردن استفاده میکردیم).
مزایای آپاسکیل کردن خیلی زیاده:
کاهش رزولوشن رندر باعث افزایش فریمریت میشه. اما یه بدهبستان هم داره، یعنی وضوح تصویر و گاهی اوقات باعث ایجاد آرتیفکت های بصری (visual artefacts) میشه.
تکنیک TAA یه تکنیک تحلیلیه، یعنی بر اساس ریاضیات و آمار کار میکنه.
آپاسکیل کردن همراه با مقیاسبندی رزولوشن پویا (DRS)، تکنیکی که رزولوشن رندر بسته به عملکرد GPU توی هوش مصنوعی تغییر میکنه، به ما اجازه میده کیفیت بصری بازی رو به حداکثر برسونیم و توی سناریوهای سنگینتر رزولوشن پیش از آپاسکیل رو پایین بیاریم. بدون DRS، ما باید بودجههامون رو برای بدترین سناریو تنظیم کنیم، حتی اگه این سناریوها فقط توی موقعیتهای خاصی توی کل بازی اتفاق بیفتن. بنابراین، یه پیادهسازی خوب DRS همراه با یه آپاسکیلر عالی، بهترینهای هر دو دنیا رو ارائه میده: فریمریت بالاتر و کیفیت بصری بیشتر.
آپاسکیلرهای مبتنی بر هوش مصنوعی معمولاً با فیلمهای مرجع توی رزولوشن هدف آموزش داده میشن. برخلاف یه آپاسکیلر تحلیلی، اونا میتونن با رزولوشنهای پایینتر پیش از آپاسکیل بهتر کار کنن، چون مدلشون رفتارهایی رو کدگذاری میکنه که بهصورت تحلیلی بازتولیدشون سخت یا غیرممکنه.
با تأخیر Assassin’s Creed Shadows ما فرصتهای ارزشمندی داشتیم که پیادهسازیهای اولیه PSSR رو توی عناوین بهبودیافته دیگه PS5 Pro بررسی کنیم و تحلیل عمیق خودمون رو روی Assassin’s Creed Shadows انجام بدیم.
متوجه شدیم که PSSR تجربه بهتری نسبت به TAA ارائه میده و قطعاً چیزیه که میتونه برای بازیکنها مفید باشه. با درک این موضوع، با Sony برای همکاری بیشتر تماس گرفتیم. سونی از نزدیک با ما کار کرد و پارامترهای مدل بهروزرسانیشدهای رو ارائه داد که برای تکمیل پیادهسازیمون توی آخرین فریمور PS5 Pro، که بهتازگی منتشر شده، لازم بود.
در مقایسه با TAA تکنیک PSSR تصویر پایدارتری ارائه میده و آرتیفکت و شیمرینگ (shimmering artefacts) خیلی کمتری داره و کیفیت تصویر رو بالا میبره.
حالا که این فریمور منتشر شده، خوشحالیم که اعلام کنیم پشتیبانی رسمی از PSSR توی Assassin’s Creed Shadows از طریق بهروزرسانی جدید بازی در دسترسه، چون هم بهبودهایی که توی سطح نرمافزار سیستمی انجام شده و هم کار ما توی موتور بازی حالا بهصورت یکپارچه با هم کار میکنن.
پلیرهایی که قبلاً بازی رو روی PS5 Pro بازی کردن، باید این گزینه رو توی تب ویدیو توی منوی تنظیمات فعال کنن، اما همه بازیکنهای جدید بهصورت پیشفرض با PSSR فعال بازی میکنن. مثل همیشه، ما متعهدیم که با بهروزرسانیهای بعدی، پیادهسازیمون رو بهبود بدیم، چون این تکنولوژی همچنان در حال پیشرفته.
حرف آخر:
با نورپردازی RTGI توی حالت عملکرد (60 فریم بر ثانیه)، بازتابهای ریتریسینگ که به حالت بالانس (40 فریم بر ثانیه) و حالت کوالیتی (30 فریم بر ثانیه) اضافه شده، و حالا PSSR که توی همه حالتها در دسترسه، ما خیلی از نسخه PS5 Pro راضی هستیم و معتقدیم که این بهترین تجربه کنسولی برای Assassin’s Creed Shadows هست، تجربهای که با گیمینگ روی PCهای ردهبالا رقابت میکنه.
ما بهطور کامل از هر سه ستون اصلی تکنولوژی PS5 Pro استفاده کردیم و اینها واقعاً دیدگاه تکنولوژیک ما رو پشتیبانی کردن و ما رو برای آینده خیلی هیجانزده کردن!