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

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

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

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

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

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

Самый впечатляющий момент демонстрации — тот, когда они показали количество треугольников в кадре. 20 миллионов — это примерно по одному треугольнику на пиксель. Это что-то совершенно невероятное.

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

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

Nanite

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

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

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

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

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

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

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

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

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

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

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

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

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

Lumen

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Какие вопросы остались без ответов

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

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

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

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

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

Что теперь делать Unity

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

Unreal Engine же, как известно, работает с симуляцией геймплея в одном потоке. Да, там есть многопоточная функциональность — например, для расчёта анимаций, — но в целом, для современных консолей это не лучшее решение.

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

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

Материал подготовлен командой XYZ Media.

Наши каналы в Telegram и на YouTube.

319319
238 комментариев

Комментарий недоступен

112
Ответить

Наиболее реалистичный сценарий развития событий :))

84
Ответить

а важен сам факт оптимизации или результат?

7
Ответить

Дистрибутивы игр по 250ГБ. 

11
Ответить

Уже давно никто не оптимизирует. Еще года с 2005 постоянно слышал от программистов - Пока мы игру свою доделаем железо уже подтянется.

4
Ответить

Комментарий недоступен

2
Ответить

Комментарий недоступен

Ответить