Релиз в раннем доступе Unreal Engine 5 — главное событие весны 2021 года в геймдев-среде. Сейчас многочисленные разработчики активно знакомятся с особенностями движка, чтобы понять, как он повлияет на разработку игр.
Мы попросили преподавателя курса GAMECODE и большого энтузиаста Unreal Engine Александра Балакшина, который работал над сезонными обновлениями для Tom Clancy’s Rainbow Six Siege в роли старшего инженера-разработчика и лида геймплейной команды, поделиться с нами тем, что ему показалась самым примечательным. Ниже приводится прямая речь Александра.
То, что старые проекты на Unreal Engine 4 легко открываются в Unreal Engine 5, — это действительно так. Для запуска старого учебного проекта его не нужно было перекомпилировать — вообще никаких дополнительных действий не потребовалось. Запустилось всё без лишних мучений.
Что сразу бросается в глаза — существенные визуальные улучшения редактора. То есть помимо тёмной темы теперь наконец-то можно спокойно прикреплять к табам всевозможные окошки. В результате многие существенные вещи теперь занимают меньше места на экране. Для создателей контента это очень важно, в особенности для левел-артистов и левел-дизайнеров.
Все интерфейсы переделали под современные пайплайны разработки, удобнее стало даже в мелочах — и это очень хорошо. Иногда, конечно, немного теряешься, а на поиск некоторых инструментов требуется время. Но по итогу все нужные окна и настройки находишь довольно быстро даже без документаций. Поэтому, как мне кажется, переезд с Unrael Engine 4 на Unreal Engine 5 с точки зрения интерфейса будет достаточно интуитивным и понятным.
Unreal Engine 5 очень требователен к ресурсам ПК. Чтобы запустить тестовый проект в 30 fps, нужны RTX 2080, 12-ядерный процесс и 64 гигабайт оперативной памяти.
Минимальные требования для хоть какого-то запуска следующие:
видеокарта — NVIDIA GTX 1080 или AMX RX Vega 64 с 8 ГБ памяти;
оперативная память — 32 Гб.
Отдельный упор в движке делается на Control Rig — это один из новых вариантов управления анимациями. Это тонкий инструмент для создания процедурных анимаций и дополнительных вещей, которые как раз стоит сделать с персонажем уже после выставления начальной позы. В движке он очень эффективно используется для настройки полноценной инверсной кинематики.
Интересные нюансы появились и при работе с миром. Новая система World Partition во многом похожа на World Composition из UE4. Только с World Partition не нужно создавать большое количество различных карт — можно работать лишь с одной картой, подключая для редактирования интересующие куски локации отдельно.
Система также используется в runtime — она в принципе подходит как раз для стриминга и динамической подгрузки участков карт в зависимости от того, где находится персонаж. Люди, которые хотят разрабатывать открытые миры на Unreal Engine 5, наверняка будут счастливы при работе с движком.
В UE5 также есть система редактирования на уровне отдельных экторов. Если раньше нужно было целиком захватывать локацию и лишь потом вносить изменения, из-за чего с уровнем, грубо говоря, мог работать лишь один персонаж, то сейчас всё сделано так, чтобы каждый участок уровня сохранялся в отдельный файл, что облегчает работу.
Благодаря этому проще взаимодействовать и с системами вроде Perforce, которые позволяет работать над проектом сразу нескольким людям. Сама интеграция Perforce в UE5 тоже улучшилась. Появился отдельное меню со списками внесённых изменений, которого сильно не хватало в UE4. Учитывая, что система Perforce считается стандартом индустрии, хотелось бы верить, что однажды она станет полноценной частью движка.
Ещё один момент — разработка геймплея. В движке планируют полностью исключить поддержку таких вещей, как damage (урон) и score points (очки). Вместо этого Epic Games рекомендует реализовывать подобные системы самостоятельно. Также в UE5 хотят сделать акцент на так называемых плагинах Game Features, которые позволяют сегментировать геймплей и лучше разбивать его между отдельными участками, делая программный код и подход к архитектуре более модульными.
Плагины Game Feature — это очень интересный вариант организации кода и данных. Плагины в UE4 есть давно — они позволяют выносить части кода в своего рода отдельные объекты, в которых код будет связан друг с другом. Подобные связки контента удобно переносить из одного проекта в другой. Также плагины удобно распространять через Marketplace.
В UE5 Epic Games пошли немного дальше. Сохранив общие функциональные возможности плагинов, разработчики вывели среди них отдельный тип — как раз Game Feature. Такие плагины позволяют в момент включения добавить существующему проекту определённые свойства. Например, включив плагин с каким-то оружием, у безоружного персонажа в проекте появятся нужные способности, связанные со стрельбой, прицеливанием, уклонениям и прочим, дополнительный компонент для оружия и особые настройки ввода.
То есть Game Feature — это достаточно гибкий инструмент, чтобы при подгрузке всего одного плагина сразу менять весь существующий геймплей. В принципе, этим будет крайне интересно воспользоваться.
И раз мы затронули тему ввода, нужно сказать, что Epic Games настаивает на использовании в UE5 плагина Enhanced Input. Он доступен и для UE4, а его основное отличие от стандартной настройки инпута, при которой разработчики просто меняют необходимые .ini-файлы, — все изменения можно хранить прямо в данных. То есть прямо в режиме runtime можно менять действия, происходящие при нажатии отдельных кнопок.
Кстати, многие системы UE5 можно опробовать прямо в UE4, чтобы быстрее освоиться и привыкнуть к ним. Те же Niagara и Control Rig доступны для теста прямо сейчас.
Думаю, сейчас самое интересное начинается во всех крупных студиях, которые выкачали исходный код движка, чтобы посмотреть, что лежит «под капотом» Nanite, Lumen и прочих технологий. Пускай в UE5 заметно влияние других проприетарных движков, именно Nanite и Lumen сейчас наверняка активно исследуют разработчики, чтобы понять, насколько их разумно вводить в пайплайн производства. Ведь если они действительно помогут сэкономить время на разработку, то UE5 уже в чём-то будет революционным.
О главных особенностях Unreal Engine 5 мы рассказывали в отдельной заметке. Из неё же можно узнать, где скачать движок.