Як dev.ua тестили болід айтішника — відео 🏎

Графіка як у фільмі. Або чому технології Unreal Engine 5 – це майбутня революція у геймдеві

Ми ще не бачили всіх можливостей рушія Unreal Engine 5. На його базі ще не виходили масштабні ігри. Але деякі тизери вже вражають. Нещодавно на каналі Cycu1 було опубліковано відео з надзвичайним лісом. Навіть гілки та маленькі рослини згинаються, коли персонаж рухається повз них.

Залишити коментар
Графіка як у фільмі. Або чому технології Unreal Engine 5 – це майбутня революція у геймдеві

Ми ще не бачили всіх можливостей рушія Unreal Engine 5. На його базі ще не виходили масштабні ігри. Але деякі тизери вже вражають. Нещодавно на каналі Cycu1 було опубліковано відео з надзвичайним лісом. Навіть гілки та маленькі рослини згинаються, коли персонаж рухається повз них.

Одже час поговорити про майбутнє… Майбутнє відеоігор звичайно ж. А саме — про нову версію найстарішого ігрового рушія Unreal Engine.

13 травня 2020 року світ побачив Unreal Engine V з його інноваційними рішеннями сучасних проблем. Ні, не глобальних проблем всього світу, а профільних. Ігрових. По словам Epic Games, які в свою чергу займаються розробкою та підтримкою лінійки цих рушіїв, нововведені ІТ-технології Lumen та Nanite зможуть значно покращити графічну складову ігор з мінімальним заниженням продуктивності заліза.

Що робить ігровий рушій

Щоб розуміти, про що йде мова, потрібно спочатку розібратися з тим, що таке ігровий рушій.

Якщо не брати чіткі цитати і говорити доволі поверхнево, то ігровий рушій — це набір інструментів, інструментарій, для створення ігрових світів. При тому, максимально різноманітних інструментів.

До прикладу вашій грі потрібно додати реалістичне освітлення, таке як в Red Dead Redemption 2, або просто фантастичну фізику руйнувань як в Battlefield. Всі ці можливості надає рушій. До речі, Battlefield була розроблена на їх рушії під назвою FrostBite який надав можливість реалізувати таку руйнівність об’єктів у грі. І так, теоретично, будь-який розробник може розробити рушій самотужки. Але навіщо придумувати велосипед знову. Залиште це таким багатим компаніям як Rockstar Gaming та їх GTA V, або компаніям з високими амбіціями таким як CD Project Red та їхньому Cyberpunk 2077.

Яка історія у Unreal Engine

Розробником рушія Unreal Engine V є Тім Суіні, який в свою чергу паралельно заснував компанію Epic Games. Перший рушій Unreal Engine був випущений 1996 році та був призначений для ігор-шутерів від першої особи. Першою грою став безпосередньо шутер від першої особи,  який мав назву Unreal, та був випущений в 1998 році. Але з часом нові версії рушія адаптувалися під інші жанри ігор. Такими жанрами стали: стелс-ігри, файтинги та масові багатокористувацькі рольові онлайн ігри.

В минулому рушій розповсюджувався з умовами щомісячної оплати за користування, але з 2015 року змінив  умови використання. З того часу UE став безкоштовним, але зі своїм підводним камінням, що зовсім не критично.

Також основним козирем нового рушія є його ІТ технології, які були згадані вище — Nanitе та Lumen.

Що таке Nanite

Nanite — нова технологія віртуальної геометрії, яка дозволяє рендерити сцени швидше звичайного меш-рендеринга і змінює процес створення моделі.

Nanite завантажує лише ту геометрію об’єкта, яку бачить користувач.

До цього компанія NVidia намагалась зробити щось схоже. І створила технологію сіточного  шейду.

Зазвичай, об’єкт міг декілька разів відмальовувати кількість своїх полігонів. Ви не раз могли помічати, коли ви підходите до об’єкта у грі, то він стає більш чітким. Це рендеряться його LOD`и.

LOD’и — це, якщо говорити простими словами, різнополігональні моделі, одного й того ж самого об’єкта. Вони рендеряться в потрібній роздільній здатності в залежності від відстані камери до них. Такий підхід значно полегшує обчислення для системи, але вимагає від дизайнера більше часу на розробку. Адже зазвичай створюється від 2 до 4 таких ЛОДів. При роботі з Nanite, модель створюється лише один раз, і відразу у найвищій якості. І тоді гравець буде сам налаштовувати якість об’єкта з урахуванням відстані до нього.

Меш розбивається на логічні безшовні ділянки, так звані «кластери», які нагадують форму трикутника, базуючись на швах розгортки. До речі, кластери генеруються на декількох рівнях  деталізації, щоб замінювати один одного, або й зовсім не рендериться в залежності від відстані до камери і кута огляду.

Це відрізняється від простих LOD-ів — геометрія завантажується лише у необхідних для рендеру частинах меша. Під час рендеру вибираються найкращі LOD-кластери трикутників залежно від частини екрану, яку вони займають.

Nanite враховує роздільну здатність екрана та відстань до меша. Для збереження деталізації вона може створювати трикутники розміром із піксель.  Використовуючи Nanite, не потрібно думати про кількість полігонів, але зі зміною процесу моделювання з’являються моменти, які потрібно враховувати при роботі з Nanite. Для прикладу, Nanite ще не вміє рендерити прозорі об’єкти — скло. Але Epic Games обіцяють скоро цю проблему вирішити.

Технологія Lumen

Про освітлення в іграх ми вже трохи знаємо. Мабуть, всі чули про технологію Ray-tracing. Це вражаюча система динамічного освітлення, яка вираховує вектор траєкторії руху променів світла так, як би вони рухалися в реальному житті. Хорошим прикладом слугує Cyberpunk2077. При ввімкнені цієї технології картинка виглядає максимально реалістично. Правильне відображення та світло роблять геймплей максимально аутентичним. Саме завдяки цьому гравець може повністю поринути в ігровий світ.

Але у цієї технології є явна проблема. Навіть декілька. Не всі комплектуючі можуть її підтримувати. Ray-tracing можна увімкнути лише на відеокартах від Nvidia з приставкою RTX, або на аналогах від AMD. А по-друге, це дуже важка задача. Адже для організації глобального освітлення потрібно вираховувати траєкторію променів в реальному часі. І не пропускати ті об’єкти, які знаходяться за кутом огляду камери користувача. Як ви розумієте, це забирає дуже багато ресурсів вашої відеокарти.

Lumen же спрощує підхід до обрахунку променів. Хоча технологія по своїй суті дуже схожа на вищеописану. Але Lumen дозволяє обходити великі витрати ресурсів, проводячи рендер по спрощеній системі.

Подивіться на приклад вище. Тут для кожної моделі, на кожній її поверхні створюються проекції, які зберігають в собі дані про поверхню. Називається така проекція — SDF-мапа. І цю інформацію Lumen використовує для рендеринга променів світла. В тому числі обрахунок освітлення відбувається відносно тих об’єктів, які не попадають в кадр.

Якщо звичайному Ray-tracing’у обрахунки потрібно проводити дуже точно для кожної точки, то тут для Lumen вистачає лише цих мап, де є дуже спрощені дані про поверхню. Саме це дозволяє кардинально зняти навантаження з обчислювальної потужності.

Але такий підхід не завжди ідеальний.

До прикладу об’єкти які знаходяться у русі можуть не відбивати промені світла від себе.

Також козирем Lumen є м’які, розмиті тіні. Та відображення. Що несамовито додають реалістичності всій картині. На старих версіях Unreal Engine відображення та освітлення були різними функціями. Тут вони працюють як єдина система, і це дозволяє створювати більш реалістичне зображення, адже обмін даними відбувається на пряму.

Як висновок, ми отримуємо шикарне освітлення, з набагато меншими вимогами до заліза. Але все ще є одне АЛЕ. Для приємної та плавної роботи з технологіями Nanite та Lumen потрібно обробляти велику кількість даних. Так, дані стали компактними, але їх кількість збільшилася. Тому, щоб працювати із задоволенням, потрібно поставити хороший SSD на свій тостер.

Автор: Назар Свірідов

Як вибрати графічний редактор якщо ти тільки починаєш працювати з графікою. Поради від програміста
Як вибрати графічний редактор, якщо ти тільки починаєш працювати з графікою. Поради від програміста
По темi
Як вибрати графічний редактор, якщо ти тільки починаєш працювати з графікою. Поради від програміста
Ми запускаємо розсилку про українське IT-ком’юніті. Залиште email, аби розуміти більше. Прем’єра — скоро!
Дякую! На вказану адресу надіслано листа для підтвердження підписки.

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.