Огляд технологій Unreal Engine 5 з розробниками: застосування, переваги та перспективи
Epic Games випустила Unreal Engine 5 у дочасному доступі ще навесні
Ми вирішили дізнатися, як Epic Games просувається до цієї мети. Наскільки перспективні нові інструменти в Unreal Engine 5? Чи є у них простір для подальшого розвитку та впровадження в усе більшу кількість проєктів? Варто їх застосувати зараз чи краще зачекати? Відповіді на ці запитання ми знаходили разом з українськими розробниками зі студій Frag Lab, DogHowl Games, Fractured Byte, Pingle Studio та інших.
Nanite
Почнемо з технології, яку активно просували ще з моменту анонсу Unreal Engine 5. Саме Nanite називали однією з головних переваг п’ятої ітерації рушія. Під цією назвою прихована система вдосконаленої віртуалізованої геометрії, яка використовує новий внутрішній формат мешів для збільшення деталізації оточення й кількості об’єктів на екрані.
Технологія аналізує і розбиває імпортовані меші на ієрархічні кластери, куди входять групи трикутників. Вони відповідають різним рівням деталізації. Під час рендерингу кластери міняються місцями та з’єднуються із сусідніми в межах одного об’єкта. Ці ротації відбуваються залежно від ракурсу камери, щоб гарантувати максимальну деталізацію на екрані. А в пам’яті зберігаються лише видимі елементи для зменшення навантаження.
Створення контенту із застосуванням Nanite-мешів не відрізняється від традиційної реалізації геометрії. Однак кількість трикутників та примітивів, які вдається обробити, значно зростає.
Денис Кривицький, C++ Software Engineer у Frag Lab:
«Nanite виглядає доволі революційною технологією для UE5, яка дозволяє досягти реалістичної деталізації об’єктів. Система використовує новий формат внутрішньої сітки — Nanite Mesh замість Static Mesh — та технологію візуалізації великої кількості об’єктів. Наприклад, завдяки Nanite можна створювати об’єкти з високою деталізацією: поверхні будівель і ландшафти. Водночас система спрощує імпорт високодеталізованих асетів без необхідності в запіканні LOD (level of details) завдяки автоматичному регулюванню рівня деталізації».
Ілля Радкевич, C++/UE4 Developer у Fractured Byte:
«Nanite є революційною технологією, тому що вона дозволяє використовувати фотореалістичні моделі в іграх, не так сильно переживаючи за продуктивність. Відзначу також застосування Nanite до оточення: всі ми бачили демо UE5, коли він тільки зʼявився. Тобто графіка в іграх на UE5 має стати проривною. Просто не так багато великих ігор з великим бюджетом уже вийшло на Unreal 5. А ще менше — від людей, які вміють працювати з цим рушієм».
Дмитро Куценко, Game Developer у Double Cat Punch:
«Мене особисто вражає Nanite Virtualized Geometry. Можливість працювати з великою кількістю деталей без значної втрати продуктивності — це справжня революція для розробників ігор. Однією із суттєвих переваг Nanite є те, що тепер мені не потрібно витрачати додатковий час на створення low-poly моделі. Я можу використовувати одразу high-poly, хоча найкращий варіант роботи з ним — у так званому
mid-poly. Nanite дозволяє мені зосередитися на творчому процесі та підвищити якість графіки, не турбуючись про обмеження від пониженої деталізації моделей».
Максим Хитра, Unreal Engine С++ Developer:
«Nanite дає змогу використовувати багатополігональні статичні асети в рендерингу в реальному часі, проте не замінює класичні LOD (Level of Detail) на 100%. Він розбиває high-poly геометрію на кластери та створює їхню ієрархію, що дозволяє відкидати невидимі частини геометрії під час рендеру. А ще — зменшує кількість так званих draw calls. Згідно з інформацією від Epic Games, відбувається лише один draw call на один матеріал, а не на кожен об’єкт. Це суттєво зменшує навантаження на CPU. Також варто врахувати, що відпадає потреба у створенні LOD для різних дистанцій, що пришвидшує процес розробки. Проте поки що Nanite не дає змоги використовувати прозорі матеріали, не працює зі skeletal mesh та не підтримує віртуальні текстури».
Переваги Nanite
- Складність геометрії зростає в рази завдяки відображенню більшої кількості трикутників та об’єктів у реальному часі.
- Зникають обмеження, які накладаються на бюджет кадру.
- Можливість безпосереднього імпорту матеріалів кінематографічної якості.
- Рівні деталізації обробляються автоматично, тому зникає потреба в ручному налаштуванні індивідуальних LOD для мешів.
Недоліки Nanite
- Розробникам потрібно подбати про швидкість стримінгу, особливо для мінімально заявленого «заліза», щоб зміна деталізації не відбувалася просто в полі видимості користувачів.
- Під час ротації кластерів можна побачити деякі зміни кольорів вершин.
- Обмежена підтримка матеріалів та методів затінення стаціонарного світла.
Одним із прикладів застосування Nanite став шутер Remnant 2. У проєкті є опція в налаштуваннях, яка відповідає за увімкнення деталізованої геометрії. Якщо він неї відмовитися, то активується спрощений статичний варіант.
Lumen
У парі з Nanite Epic Games демонструвала Lumen — систему глобального освітлення на основі трасування променів. Рішення імітує поведінку світла у віртуальному середовищі в реальному часі. Це підвищує реалістичність освітлення та тіней у сцені.
«Основну увагу в Lumen приділено чистому внутрішньому освітленню з частотою 30 кадрів на секунду на консолях нового покоління. Рівень масштабованості рушія Epic забезпечує близько 8 мілісекунд на консолях нового покоління для глобального освітлення та віддзеркалень з внутрішньою роздільною здатністю 1080p, покладаючись на Temporal Super Resolution для виведення зображення з якістю, наближеною до нативного 4K», — зазначено в документації до рішення.
Якщо зазирнути «під капот» Lumen, то там перебуває гібрид з програмного та апаратного рейтрейсингу. Він забезпечує пряме та непряме світло, тобто розраховується відбиття променів від поверхонь з позиції гравця. Під час імітації шляху враховуються й матеріали, що віддзеркалюють зображення. Таким чином технологія дозволяє реалізовувати відображення, про що ми детальніше писали в окремому матеріалі.
Апаратне трасування променів у Lumen відбувається класичним методом і потребує тензорних ядер. А в програмному — з використанням Mesh Distance Fields, які накладають обмеження на робочий простір, геометрію та матеріали в сцені.
Важлива особливість технології — це кластеризація тривимірного оточення для поділу на менші сегменти. Завдяки цьому збільшується ефективність глобального освітлення, яке окремо розраховується для кожної частини. В результаті зростає загальна продуктивність.
Євгеній Карпенко, Render Developer / Graphics Programmer у Pingle Studio:
«Lumen — це нова, повністю динамічна глобальна система освітлення та дзеркального відображення в Unreal Engine 5, розроблена для консолей нового покоління й комп’ютерів високого класу. Зараз це стандартна система глобального освітлення та відбиття в Unreal Engine 5. Вона рендерить дифузне взаємовідбиття з нескінченними й непрямими дзеркальними відбиттями у великих деталізованих середовищах у масштабах від міліметрів до кілометрів».
Дмитро Куценко, Game Developer у Double Cat Punch:
«Lumen ідеально доповнює Nanite. Однією з ключових особливостей Lumen є можливість у реальному часі розраховувати освітлення й тіні на поверхнях, навіть у разі зміни освітлення в грі. Це дозволяє досягти більш реалістичних ефектів освітлення та заощадити час, оскільки тепер мені не потрібно очікувати на закінчення запікання освітлення на рівні».
Максим Хитра, Unreal Engine С++ Developer:
«Lumen — це менш вимоглива до „заліза“ альтернатива RTX. Технологія прораховує освітлення менш точно, і не для кожного променя, а одразу для пучка променів, комбінуючи це з картами висот для геометрії замість роботи з трикутниками та будуючи так звані Lumen Cards, що містять дані про глобальне освітлення. Це дозволяє створювати сцени з повністю динамічним освітленням, нехай і не таким точним та реалістичним, як із застосуванням Ray Tracing, але й не настільки складним для „заліза“ рядового геймера. Крім того, дизайнери можуть бачити результати налаштування світла без витрачання часу на його запікання, як це бувало під час роботи зі статичним світлом. Це робить результат наочним, а роботу — значно швидшою.
Зараз Lumen не можна комбінувати зі статичним освітленням. Багато розробників чекають на це в наступних версіях, оскільки сцени, побудовані на Lumen, теж потребують певної оптимізації, щоб не стати занадто вимогливими до „заліза“. Так, наприклад, кілька динамічних джерел світла, що перетинаються між собою, можуть суттєво знизити FPS».
Переваги Lumen
- Відносна простота в налаштуванні та використанні.
- Можливість застосовувати на відеокартах без тензорних ядер, хоч і з обмеженнями.
- Гарантує реалістичне освітлення та тіні, дозволяє реалізовувати дзеркала.
- Mesh Distance Fields забезпечують високу сумісність із Nanite.
- На реалізацію складних світлових ефектів, наприклад об’ємного туману, потрібно менше ресурсів, ніж якщо застосовувати стандартні технології глобального освітлення.
Недоліки Lumen
- Рейтрейсинг накладає вимоги до «заліза», причому як для роботи, так і для запуску фінального продукту.
- Оптимізація, пов’язана з трасуванням променів, лишається складним завданням, навіть якщо застосовувати програмну версію.
- Не поєднується зі звичайними методами реалізації статичного освітлення.
Один з яскравих прикладів застосування Lumen — це головоломка The Talos Principle 2. У проєкті є параметр глобального освітлення, який ділиться на декілька рівнів. На середньому й нижче технологія вимикається. Починає діяти резервний варіант освітлення на базі SDFAO та інших растрових технік. Контраст між ними й Lumen одразу помітний, бо реалістичність тіней та глобального освітлення суттєво падає.
А в DESORDRE: A Puzzle Game Adventure є можливість обирати між глибиною застосування Lumen. Користувачі можуть окремо увімкнути апаратне трасування променів або перейти на трасування шляху, яке є точнішою версією рейтрейсингу.
Virtual Shadow Maps (VSM)
Ця технологія йде опліч з Nanite і Lumen. Epic створила нову методику мапування тіней для їхньої послідовної реалізації з високою роздільною здатністю. Virtual Shadow Maps призначена для роботи з дуже деталізованими асетами кінематографічної якості та великими відкритими просторами.
Epic позиціює VSM як єдиний уніфікований шлях створення тіней в Unreal Engine 5, який може замінити решту способів. І він відповідає за рівнем опрацювання віртуалізованій геометрії Nanite. До того ж технологія забезпечує вищу швидкість обробки. За заявою Epic, якщо застосувати VSM у сцені, процес триватиме до 4 мілісекунд, а зі стандартним мапуванням тіней — 11 мілісекунд.
Переваги Virtual Shadow Maps
- Вища якість та краща стабільність тіней проти стандартного мапування.
- Менші витрати часу на обробку тіней у сцені з VSM.
- Сумісність із Nanite та Lumen.
Недоліки Virtual Shadow Maps
- Нова методика мапування створена як доповнення до віртуалізованої геометрії, тому в плані якості та продуктивності дуже залежить від правильного застосування Nanite.
Наскільки суттєво Virtual Shadow Maps здатна покращити візуал, можна побачити в Lords of the Fallen. Якщо використати Unreal Engine Unlocker та через консоль розробника поекспериментувати з тінями в грі, вплив VSM на загальну картинку стане очевидним.
MetaHuman
А ось і технологія, яку найпростіше описати. Цей фреймворк допомагає створювати надреалістичні цифрові версії людей. Реалізація моделей відбувається в інструменті MetaHuman Creator, який працює на основі хмарних технологій. Готові персонажі імпортуються в Unreal Engine 5 через Quixel Bridge.
Ціль технології — забезпечити високу якість результату за відносної простоти роботи. MetaHuman Animator дозволяє анімувати моделі, переносячи у віртуальний простір усі рухи актора. Mesh to MetaHuman дає змогу завантажувати власні скани людей, щоб створити їхню цифрову копію. За потреби є доступ до бібліотеки пресетів, створеної на базі зовнішності реальних осіб.
Функціонал MetaHuman дозволяє глибоко редагувати вихідний матеріал. Можна всіляко змінювати форму обличчя, волосяний покрив, коригувати очі та зуби. Те саме стосується тіла, яке здатне зазнати схожих трансформацій.
«На мою думку, MetaHuman — це революційний інструмент. Він до непристойності зменшує поріг входу у створення надреалістичного анімованого персонажа, особливо якщо поєднати технологію з певними плагінами та сторонніми застосунками. Я без проблем налаштував реалістичного персонажа в MetaHuman, додав його в Unreal Editor, наклав анімацію з Epic Store на тіло та згенерував facial animation для голови в Audio2Face, використавши просто звичайний аудіофайл. Результат вийшов вельми пристойним за дуже короткий час і без спеціальних знань.
Слід зазначити, що анімація тулуба та голови — це два окремі кроки. На відміну від класичного Manuiqen в Unreal Editor, блупринт MetaHuman має два skeletal mesh — це face та body. Розділення міміки та рухів тіла цілком логічне й застосовувалося в моделюванні персонажів раніше. Це паралельні процеси, які потребують різних підходів. Звідси й з’являються підводні камені, коли нижня частина голови намагається вилізти крізь одяг або голова взагалі відділяється від тіла, якщо не знати певних тонкощів анімації такої моделі. Та всі проблеми мають свої способи вирішення, і це невелика плата за можливість легко отримати 3D-модель, яка б раніше коштувала великих зусиль або немалих грошей», — Максим Хитра, Unreal Engine С++ Developer.
Переваги MetaHuman
- Інструмент простий в опануванні та використанні.
- Для захоплення анімацій достатньо мати персональний комп’ютер або iPhone від
12-ї моделі. - Можливість завантажувати власні меші та широкий простір для редагування.
- Готові моделі доступні з вісьмома рівнями деталізації (LOD).
Недоліки MetaHuman
- Детально анімувати персонажів складно через велику кількість кісток у скелетах. Epic спробувала частково нівелювати цю проблему за допомогою IK Retargeter, який забезпечує експорт анімацій між персонажами з різними пропорціями.
- MetaHuman підтримує обмежену кількість матеріалів одягу.
- Фінальні моделі, створені за допомогою інструменту, часто потребують додаткової оптимізації, щоб знизити вплив на продуктивність.
У рамках GDC 2023 Epic Games детально продемонструвала можливості MetaHuman. Розробники з компанії в партнерстві з Меліною Юрґенс, виконавицею ролі Сенуї в дилогії Hellblade, показали процес запису анімацій та відтворення зовнішності актриси. Ролик презентує частину функціоналу, доступного в інструменті.
Procedural Content Generation (PSG)
За назвою нескладно здогадатися про функції цього фреймворку. Procedural Content Generation містить набір інструментів для реалізації процедурно згенерованих віртуальних середовищ. Їхня величина варіюється від сцен з декількома об’єктами до цілих світів.
PCG охоплює як редактор, так і компонент виконання. Завдяки цьому розробники можуть задавати правила й параметри для згенерованого контенту. Фреймворк здатен продукувати різні види асетів, зокрема меші, світло, звуки, блупринти, частинки та інше. А ще — генерувати точки на ландшафті, які потім буде використано в інших інструментах.
Окремо варто відзначити роботу Procedural Content Generation зі стримінгом текстур. Рішення автоматично сортує та керує даними, щоб завантаження оточення відбувалося ефективніше.
Переваги Procedural Content Generation
- Може працювати навіть із суворо обмеженою кількістю асетів.
- Забезпечує доволі високий рівень деталізації та випадковості.
- Здатен продукувати різні асети.
- Спеціальні фільтри щільності дозволяють у реальному часу керувати розташуванням та кількістю згенерованого контенту в сцені.
Недоліки Procedural Content Generation
- Для кожної сцени, згенерованої технологією, необхідно підібрати найбільш ефективну методику рендерингу, а це доволі важко.
- Потребує чимало часу на опанування на глибшому рівні для ефективнішого й точнішого застосування.
PCG додали в Unreal Engine 5.2 відносно нещодавно, тому конкретних прикладів застосування технології в проєктах ще немає. Проте на GDC 2023 Epic Games детально розглянула фреймворк та продемонструвала його можливості.
World Partition Tool (WPT)
Unreal Engine 5 багато в чому орієнтований на масштабні проєкти з відкритими світами. Більшість нових інструментів найкраще проявляють себе саме під час роботи над такими іграми. І на вершині цього списку перебуває World Partition Tool.
Цей інструмент призначений для покращення та прискорення роботи над великими середовищами, які завантажуються поступово для заощадження пам’яті. Тобто він покликаний замінити стандартний стримінг текстур, звичний для більшості сучасних масштабних проєктів.
Одна з головних переваг технології — можливість спільної роботи над мапою в команді. World Partition Tool дозволяє обрати конкретні асети для опрацювання, щоб не блокувати доступ до всієї карти для інших розробників. Реалізація змін на локації теж спрощується завдяки системі шарів. Фахівці можуть створити декілька версій конкретної частини карти, призначених для різних етапів проходження.
Інструмент також дозволяє поступово зменшити загальний розмір гри. Завдяки World Partition Tool у кожну нову ітерацію необхідно завантажувати лише змінені асети, а не весь файл мапи.
Переваги World Partition Tool
- Можливість розділеної роботи над мапою в редакторі.
- Здатен замінити стримінг текстур «з коробки».
- Кращий контроль над завантаженням та вивантаженням акторів завдяки збереженню даних про них в окремих зовнішніх файлах.
- Зменшення загального розміру гри.
Недоліки World Partition Tool
- Інструмент несумісний зі стандартним стримінгом текстур.
- Через новизну технології в ній нерідко трапляються збої.
Chaos Physics
Замикає список нова технологія для реалізації фізики на базі Unreal Engine 5. Chaos дозволяє відтворити у віртуальному середовищі процеси з навколишнього світу. Інструмент розширює можливості для реалізації взаємодій та явищ, підвищуючи загальну інтерактивність.
Технологія ділиться на декілька категорій. Вони відповідають за коректну демонстрацію руйнацій навколишнього середовища, поведінку одягу персонажів, відчуття від управління транспортними засобами та Ragdoll-фізику. Сукупний набір підсистем покликаний замінити PhysX у нових проєктах.
Одна з головних переваг Chaos — це кінематографічність та реалістичність всіх ефектів. Тут варто відзначити систему частинок Niagara, яка входить в інструмент та гарантує високу деталізацію. Epic Games створювала технологію з прицілом на ААА-проєкти, хоча її можна використовувати й у межах менших масштабів.
«Chaos дуже крутий, особливо Chaos Destruction. Від нього точно нікуди не дінешся, бо підтримку PhysX розробники прибрали. Спільнота хоче його повернути, — здається, десь бачив спроби, — але без підтримки від розробників рушія це безперспективно», — Валерій Дяченко, C++/Unreal Engine Developer у Fractured Byte.
Переваги Chaos Physics
- Забезпечує реалізацію всіх фізичних явищ, які є в іграх.
- Ділиться на підсистеми, і в кожній з них враховуються особливості конкретних елементів фізики.
- Підтримка Ragdoll-фізики, яка поєднується з анімаціями та дозволяє створити унікальні рухи персонажів.
- Дає змогу створити реалістичну систему руйнації оточення з високою деталізацією.
Недоліки Chaos Physics
- Складність у використанні та імплементації у власні проєкти.
Найяскравіший приклад застосування Chaos Physics на поточний момент — це Fortnite. Та навіть у рідному проєкті інженери Epic Games застосували лиш частину можливостей своєї технології. Вони перебудували вплив гравітації, поведінку деяких явищ, як-от вогню, та фізику образів. А от систему руйнації не стали переносити на рейки Chaos Destruction.
Gameplay Ability System (GAS)
На черзі фреймворк для реалізації рольової системи або її елементів у грі. Gameplay Ability System дозволяє створювати й налаштовувати типи здібностей та атрибутів. Завдяки інструменту можна визначити й додати в проєкт набір необхідних активних та пасивних навичок.
GAS також дозволяє різноманітно масштабувати й змінювати систему. Розробники здатні додати час, необхідний на перезаряджання вмінь, рівні здібностей з поступовим посиленням, звуки та візуальні ефекти частинок, які супроводжуватимуть активацію.
Окремо варто виділити можливість реалізації статусних ефектів: горіння, отруєння, замороження тощо. За допомогою Gameplay Ability System прописується вплив кожного бонуса та штрафу на різні атрибути персонажа.
«Gameplay Ability System дозволяє доволі просто й швидко створювати різні механіки навичок для персонажів. Особисто бачив декілька дійсно класних інді-проєктів, які створювали саме за допомогою GAS. Звісно, можна створити свій „велосипед“, який краще їхатиме, буде більш гнучким та відповідним під конкретний проєкт. Але GAS дійсно гарний варіант, особливо для швидких, простих прототипів і розробок», — Богдан Карабінський, Middle C++/UE4 Game Developer у Fractured Byte.
Переваги Gameplay Ability System
- Швидка імплементація рольових елементів.
- Дає змогу легко ітерувати та змінювати систему навичок.
Недоліки Gameplay Ability System
- Рішення доволі складне в розумінні й потребує чимало часу на опанування.
- Для взаємодії в GAS використовуються теги, за якими стає важко стежити, коли система навичок розростається.
- GAS взаємодіє з іншими системами в односторонньому порядку, тобто їх потрібно пов’язувати атрибутами.
Sparse Volume Textures (SVT)
У версії рушія 5.3 Epic Games додала новий тип асетів — Sparse Volume Textures. Вони зберігають запечені дані, необхідні для симуляції об’ємних явищ, наприклад диму, вогню та води. А ще всередині SVT кешуються частинки Niagara, що дозволяє значно підвищити продуктивність.
Sparse Volume Textures мають схожість з 3D-текстурами та об’ємними текстурами. У них текселі також зберігаються у тривимірній структурі даних, тому вони можуть бути проіндексовані за допомогою тривимірних UV-координат.
На відміну від стандартних об’ємних текстур, SVT використовують пам’ять лише для регіонів із виділеними даними. Це дозволяє реалізувати значно більше асетів, якщо порівнювати зі звичними об’ємними текстурами.
Переваги Sparse Volume Textures
- Забезпечують реалістичні ефекти.
- Гарантують вищу продуктивність навіть у разі застосування Niagara.
- Ефективніше використовують пам’ять.
Недоліки Sparse Volume Textures
- Технологія перебуває на стадії доопрацювання, тому містить низку обмежень.
Думки розробників щодо перспективності технологій Unreal Engine 5
Висновки
Більшість розробників бачать перспективу в нових інструментах, які реалізовані в Unreal Engine 5. Звісно, потрібен час на їхнє доопрацювання та створення оптимального механізму впровадження технологій у проєкти. Проте Epic Games розвивається в цьому напрямку й укладає партнерства з провідними компаніями. Наприклад, CD Projekt RED допомагатиме адаптувати UE5 під потреби масштабних action-RPG, працюючи над новою трилогією The Witcher.
Підхід розробників рушія імпонує нашим спікерам. Epic доволі часто впроваджує технології, які або мають спростити фахівцям їхні завдання, або сама використовує у Fortnite.
«Зазвичай Epic робить інструменти „під себе“ — те, що використовує у своїх іграх і що потім адаптують інші розробники. Це величезний плюс у порівнянні з Unity, тому що Epic на своєму рушії роблять свою гру, яка приносить їм величезні гроші. Також фічі можуть робитись за запитом студій розробників. Так, наприклад, паралельно з розробкою Tekken в UE5 з’явилася нова система швидкого інпуту», — Дмитро Бондарук, Senior Unreal Engine Developer у DogHowl Games.
Звісно, не всі нові технології Unreal Engine 5 стануть галузевим стандартом. Деякі, як MetaHuman, потребують значного покращення для використання «з коробки». Проте як мінімум Lumen, Nanite та Virtual Shadow Maps, на думку розробників, мають гарні шанси на активне застосування в майбутньому.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів