Unreal Engine 5: на что на самом деле способна PlayStation 5
Особенности нового движка
13 мая Epic Games анонсировала движок Unreal Engine 5 и показала первый геймплей, снятый напрямую с PlayStation 5. Движок уже сейчас работает на девките новой консоли Sony, будет доступен на всех платформах вплоть до мобильных телефонов и использует невиданные доселе технологии Lumen и Nanite.
Максимальная детализация
Nanite — это революционная система микрополигональной геометрии. Проще говоря, модели в такой игре всегда будут выглядеть настолько хорошо, насколько возможно, позволяя добиться полного фотореализма.
Обычно в играх используются система LoD’ов (англ. Level of Detail), когда на крупных планах игра подгружает максимально детализированную модель (LOD0), на средних — чуть менее детальную (LOD2), на задних — еще проще (LOD4-5), а где-нибудь на фоне могут быть совсем схематичные модельки. С этим подходом есть несколько проблем.
Во-первых, разработчики должны тратить время и ресурсы на создание нескольких версий каждого персонажа, оружия, колеса, камня в игре. Некоторые современные движки вроде Unreal Engine 4 умеют делать это автоматически. Вы просто импортируете в них оригинальную модель, нажимаете кнопку, и происходит магия. Но это не избавляет от остальных проблем. Вторая — все эти модели надо хранить на диске и вовремя подгружать в оперативную память. Третья — собственно сам менеджмент подгрузки моделей. Вы наверняка не раз видели, как объекты в играх внезапно становятся очень детализированными. Или не становятся и продолжают выглядеть ужасно, особенно на больших экранах в высоких разрешениях.
С Nanite эти проблемы просто исчезнут. По словам CEO Epic Games Тима Суини, Unreal Engine 5 просто рендерит один полигон на каждый пиксель вашего экрана. «Общая идея уходит корнями в 80-е, когда в Lucasfilm's Computer Graphics Research Group, сейчас известной как Pixar, придумали REYES: Render Everything Your Eye Sees («рендерь все, что видят глаза»). Этот смешной акроним значит, что на экране бесконечная детализация, а работа движка заключается в определении последовательности отображения. Это не значит, что для каждого кадра рендерятся 10 миллиардов полигонов (даже если сцена настолько детализирована), потому что тогда многие детали будут меньше пикселя. Это значит, что можно рендерить упрощенную версию, которая показывает ровно столько деталей, сколько можно разглядеть. Так наступает момент, когда с геометрией покончено. Лучше уже не будет. Даже если рендерить больше полигонов, их нельзя будет увидеть, потому что они существенно меньше пикселей на экране».
Последние годы Epic Games много работала с кинокомпаниями, в первую очередь с Lucasfilm и Industrial Light and Magic над фильмами «Изгой-Один» и сериалом «Мандалорец», и усвоила несколько уроков о создании фотореалистичных изображений. Unreal Engine 5 позволит импортировать в игру максимально детализированные модели, созданные, например в CAD или ZBrush, а также высокодетализованные фотограмметрические данные, созданные для кино, а не их упрощенные версии для игр. Это значит, что в будущем игры с поддержкой Nanite смогут выглядеть гораздо лучше, чем в момент их выхода. Чем выше производительность обновленной системы — тем выше разрешение, выше детализация. Но и наоборот, если железо не справляется нагрузкой, то простое динамическое изменение разрешения позволяет резко ускорить игру.
Световой поток, акустика и стаи летучих мышей
Вторая основная фишка Unreal Engine 5 — полностью динамическая система глобального освещения Lumen. Основная функция глобального освещения — делать реалистичные отражения света. Например, если в пещеру падает одинокий луч света, с обычными системами освещения пещера останется темной. С глобальным освещением луч отразится от пола и будет слегка освещать все пространство. Как и глобальное отражение, созданное при помощи NVIDIA RTX как, например, в Control, Lumen может окрашивать помещения, отражаясь от цветных предметов. Если свет упадет на оранжевую трубу, то соседние предметы тоже будут окрашены оранжевым.
Блог Unreal Engine утверждает, что количество отражений бесконечно, а детализация масштабируется от километров до миллиметров. Как это возможно, пока непонятно (судя по всему, временное накопление данных), но технические подробности наверняка совсем скоро появятся в общем доступе. В целом Lumen во многом похож на реализацию рейтрейсинга в последних картах NVIDIA, но только от Epic. Логично предположить, что в Lumen будет поддержка архитектуры RDNA 2 от AMD (именно на чипах этой компании работает PS5), но и NVIDIA не стоит сбрасывать со счетов — в Epic утверждают, что близкое качество картинки получится на RTX 2070 Super с соответствующими остальными компонентами. Какая технология окажется лучше — посмотрим со временем.
В Unreal Engine 5 будет встроена обновленная система создания спецэффектов Niagara. Частицы и эффекты, созданные Niagara, будут подчиняться игровой физике и освещению. Например, в демке показали жуков, которые разбегаются от фонаря, и летучих мышей, которые собираются в стаи и облетают скалы. Еще одно нововведение — новый звуковой движок, который сможет автоматически рассчитывать размеры, форму и материалы пространства и создавать автоматическую реверберацию вроде эхо в пещере.
Unreal Engine 5 станет доступен для разработчиков в начале 2021 года, а первая игра выйдет в середине того же года. Это будет Fortnite: планируется, что ее портируют на Xbox Series X и PlayStation 5 к их запуску на старом движке, но совсем быстро переведут на Unreal Engine 5. Причем на всех платформах, включая ПК, Xbox One, PS4, Switch и даже на мобильных телефонах. По словам Epic, близкого к PS5 качества графики на ПК можно будет добиться с видеокартой GeForce RTX 2070 Super и быстрым SSD (логично, что остальные компоненты тоже должны быть на уровне). Какие технологии получат более слабые платформы, пока неясно, но если такие демки уже сейчас работают на PlayStation 5, то мы боимся представить, какие игры увидим через 5-8 лет.