Блог xyz school

Unreal Engine 5 и его возможности: мнение программиста AAA-игр

Революция в производстве.

Мы попросили Александра Балакшина, работавшего в роли ведущего геймплей-программиста над Rainbow Six Siege, а также над несколькими неназванными консольными шутерами, поделиться мыслями и впечатлениями от анонса Unreal Engine 5.

Общие впечатления

Сначала, когда я только услышал про этот анонс от коллег, я решил, что там будет очередная маркетинговая демонстрация, на которой не покажут ничего особенно нового. Но когда в итоге посмотрел, то не поверил своим глазам.

Самый впечатляющий момент демонстрации — тот, когда они показали количество треугольников в кадре. 20 миллионов — это примерно по одному треугольнику на пиксель. Это что-то совершенно невероятное.
Если всё, о чём нам рассказали сегодня, действительно будет реализовано, это кардинально изменит пайплайн создания AAA-игр. Особенно важны две технологии — Nanite и Lumen.

Nanite

Nanite позволяет использовать неоптимизированные ассеты прямо в игре. Это очень сильно снизит нагрузку на художников. Я сам — программист, и мне трудно оценивать это точно, но по моим прикидкам художники по окружению смогут экономить от 50 до 70 процентов времени на создание контента.

Отныне этап работы с лоу поли, с изготовлением карт нормалей, уровнями детализации (LOD) — будет просто отсутствовать. Качество и детализация при этом не только сохранятся, но и достигнут кинематографического уровня.

Я пообщался с коллегами рендер-программистами, и у них есть предположение, что в основе лежит технология mesh shading'а или аналогичная ей, представленная Nvidia в 2018 году для GPU серии Turing (тех же, на которых дебютировал аппаратный рэй-трэйсинг).

В целом, это выглядит как гигантский шаг в сторону увеличения скорости изготовления контента. Но чтобы сделать более конкретные выводы о том, как это будет работать в реальности, нужно дождаться новой информации и итоговой версии движка.

Насколько это реально

Одним из первых возникает вопрос о том, как эта система сочетается со стримингом уровней в Unreal engine. В демо мы видим специальные «бутылочные горлышки», которые используются для выгрузки уже пройденных участков и загрузки новых локаций. (Обновлено: ведущий дизайнер Epic Games уточнил, что «горлышко» не имеет отношения к загрузкам, а служит лишь для того, чтобы продемонстрировать детали окружения вблизи).

По личному опыту работы с левел-стримингом в UE4, могу сказать, что эта технология требует весьма слаженной кооперации между инженерами, левел-артистами и левел дизайнерами. В противном случае, если бюджеты загружаемых и выгружаемых уровней будут рассчитаны неправильно, игрок будет испытывать просадки частоты кадров — как это было в недавнем Jedi: Fallen Order.
Также не совсем понятно, как такой объем информации помещается в оперативную память. Если вы попробуете сейчас загрузить подобное в кадр, то даже на очень мощном компьютере у вас в лучшем случае будет фриз на несколько секунд. В худшем — игра упадет из-за недостатка памяти.

Здесь, конечно же, стоит учесть заявление Epic games, что данная технология во многом опирается на железо PlayStation 5, и, видимо, на его «сверхбыстрый SSD».

Наконец, как лично мне кажется, в этом трейлере была какая-то небольшая доля обмана. Здесь не такие уж огромные локации: вначале идёт «коридор», потом небольшая локация с «паркуром», потом ранее упомянутое «бутылочное горлышко», которое используется для подгрузки зала со статуями. На открытое же пространство героиня выходит только в самом конце.

И даже здесь мы просто видим скайбокс и какую-то перспективу. Нет уверенности в том, что вдали находятся модели, а не просто текстуры. Плюс мы не знаем, какая детализация у всего этого гигантского окружения.

Lumen

Lumen — вторая прорывная технология. Это глобальное освещение, которое обсчитывается в реальном времени. которое позволяет освещать объект с учётом переотражённого света. То есть, горит лампочка, освещает стены — но и свет, который отражается от этих стен, тоже освещает другие стены.
Примерно так и работает освещение в реальном мире. Долгое время считать такое во время игры было слишком затратно, поэтому разработчики заранее «запекали» карты освещения в редакторе, а у динамических источников света всегда был сравнительно небольшой радиус действия, и затрагивали они отнюдь не все объекты на сцене.

Lumen же позволит не только изменить подход к разработке освещения, но и даст возможность создавать новый игровой опыт. Самый простой пример — это реалистичная смена дня и ночи. Однако, помимо этого, теперь можно будет влиять на освещённость любого помещения прямо во время игры в зависимости от интенсивности и цветов источников света, наличия различных блокирующих предметов, и прочих факторов. Прямо идеальный инструмент для разработчиков хорроров.

Основной вопрос к Lumen такой: насколько это освещение хорошо работает без виртуальной геометрии? Рискну предположить, что в основе этой технологии лежит аппаратный рэй-трэйсинг, так что скорее всего ее можно будет использовать и с «обычными» моделями. Но выяснить это можно будет только когда появится общедоступная версия Unreal Engine 5.

Кто и когда сможет использовать нововведения

И Nanite, и Lumen в первую очередь нацелены на AAA-продакшен. Судя по всему, на данный момент они работают только на PlayStation 5, однако разработчики заявляют полную поддержку этих технологий консолями следующего поколения (в том числе, видимо, и XBOX Series X), а также high-end PC.

Касательно мобильной разработки и предыдущего поколения, утверждается, что в редакторе UE5 будут инструменты, позволяющие «оптимизировать» новый высокополигональный контент под другие платформы. Однако, если эти инструменты окажутся недостаточно удобными, то разработчики ещё долго будут работать по-старому.

В любом случае, переход на новые пайплайны займёт некоторое время. На мой взгляд, это может произойти в течении 3-5 лет с момента релиза движка, и будет зависеть от распространения технологии в индустрии в целом.

Другие интересные детали анонса

На фоне Nanite и Lumen не стоит забывать и про другие не столь громкие, но не менее интересные технологии, о которых рассказали Epic Games.

В первую очередь, заявленные годом ранее Epic Online Services наконец-то стали общедоступными. Эта технология предоставляет доступ к лобби, матчмейкингу, сохранению данных игроков, статистике, лидербордов и игровой аналитике для разработчиков практически любых движков — в том числе Unity, Lumberyard, CryEngine и т.д., — абсолютно бесплатно.

Это большое подспорье для разработчиков многопользовательских игр, в особенности небольших AA-команд. Ну а с учетом ориентации на кросс-плей и сохранение прогрессии между различными платформами, то это вообще звучит как подарок на день рождения. Лично для меня — это первая из новых технологий, с которой я планирую ознакомиться.
Также во время демонстрации упомянули систему эффектов Niagara и новый физический движок Chaos. И то, и другое можно уже попробовать в текущей, свежей версии UE 4.25.

Была отмечена новая система симуляции жидкостей, однако, к сожалению, ей уделили слишком мало времени.

Наконец, одним из главных пунктов я считаю заявленную преемственность движков, а именно то, что игру разработанную на UE4 можно будет конвертировать для 5-й версии. Именно этим сейчас занимаются Epic для Fortnite.
Какие вопросы остались без ответов

Мы увидели, что Nanite хорошо работает со статической геометрией — с окружением. Но мы всё ещё не знаем, как это работает с персонажами и скелетными мешами. Можем ли мы использовать героя или монстра, в котором будет два миллиона треугольников, или же мы до сих пор ограничены «бюджетом» в 80 тысяч? А если можем, то как будет справляться с такой нагрузкой GPU на этапе скиннинга?
Не было сказано ни слова о том, поменялся ли процесс рендеринга прозрачных объектов — а все, кто работает в индустрии, понимают, что это очень дорого. Художники и рендер-программисты идут на разнообразные хитрости, чтобы кадр с большим количеством прозрачных объектов всё равно мог отрисоваться за 16 (или 33, если 30 FPS) миллисекунд.

Не было демонстрации листвы, растительности. Непонятно, как будет происходить её отрисовка. В случае, если всё это работает ещё и с растительностью — то это просто фантастика.

Наконец, интересно, как новая система повлияет на размер билда. Увеличится ли он до сотен гигабайт из-за столь высокодетализированных моделей, или останется примерно таким же за счёт того, что теперь не нужно хранить карты нормалей, LOD и текстуры для них?
Что теперь делать Unity

Unity сейчас делает акцент на оптимизации геймплея. Их entity component system позволяет максимально эффективно использовать для расчёта симуляции все ядра консоли. Подобная технология в своё время успешно доказала свою работоспособность в Overwatch.

Unreal Engine же, как известно, работает с симуляцией геймплея в одном потоке. Да, там есть многопоточная функциональность — например, для расчёта анимаций, — но в целом, для современных консолей это не лучшее решение.
Кадры из короткометражки The Heretic на Unity
С другой стороны, стоит учитывать то, что Epic распространяют исходный код движка в открытом виде — во всяком случае, для четвёртой версии. Если подобная практика будет применена и для Unreal Engine 5, то это всего лишь вопрос времени, когда подобные технологии появятся у Unity, CryEngine, Lumberyard и прочих, в том числе проприетарных, игровых движков. В этом случае мы сможем говорить об изменении пайплайнов не только у разработчиков на Unreal Engine, но и во всей индустрии в целом.

Возвращаясь к Unity: у них очень сильная инженерная команда, и я не сомневаюсь, что они держат руку на пульсе и обязательно как-то ответят. Противостояние двух движков, само собой, продолжится, и станет только ещё более интересным. Но нужно признать, что Epic Games первой сделала шаг в сторону настоящего next-gen опыта и новых пайплайнов разработки.
XYZ School — это онлайн-курсы для успешной карьеры в геймдеве и кино. Мы учим 3D-моделированию, левел-дизайну, концепт-арту и многому другому, а наши преподаватели — действующие профессионалы индустрии.

Ознакомиться со списком актуальных курсов можно на нашем сайте: https://www.school-xyz.com/courses. Переходи по ссылке и начинай осваивать новую интересную профессию вместе с нами.

А ещё мы ежедневно выпускаем полезный и интересный контент о геймдеве. Подписывайся на наш паблик, а также на каналы в Telegram и на YouTube.




Понравилась статья?
Хочешь получать лучшие статьи
от XyZ раз в неделю?
Подпишись на рассылку XyZ
Нажимая на кнопку, вы соглашаетесь с условиями обработки данных