UE5: какие сюрпризы подготовили создатели платфомы для пользователей новой версии
Логичным эволюционным шагом в развитии Unreal Engine стала 5-я серия движка, выпущенная в 2021 году. По словам Epic Games, она вывела ПО на новый уровень фотореализма – это было главной целью обновления. Но это отнюдь не все важные нововведения:
- Nanite. Под этим названием была презентована виртуализированная геометрия с микрополигонами, исключающая неприятное явление «бюджета на полигоны». Данная геометрия позволяет показывать в кадре геометрию кинематографического качества, которая имеет миллионы и миллиарды полигонов.
- Lumen. Еще одна фича для детальной картинки, которая представляет собой абсолютно динамическое глобальное освещение. При помощи системы Lumen картинка реагирует на изменения сцены и условий освещения, то есть падение лучей света в игре будет меняться в реальном времени. Алгоритм сам просчитает интенсивность, угол освещения, а художнику останется только скорректировать нюансы.
- Симуляция реверберации звука. Если говорить проще, то в UE5 завезли реалистичное эхо, которое работает в замкнутых пространствах. Звук постепенно угасает, а система просчитывает это индивидуально, исходя из параметров прорисованной площади.
- Улучшенный физический движок. Тут все проще – законы природы работают более корректно, модели персонажей двигаются реалистичнее, а физика работает так, как и в реальном мире.
- Новая симуляция поведения жидкостей. Система позволяет создавать зрелищные сцены с жидкостями и повышать реалистичность картинки. В сравнении с предыдущим поколением UE, теперь разные жидкости имеют разные параметры, а значит атмосферность картинки повышается многократно.
Если говорить о том, для каких проектов можно выбрать Unreal Engine, ответ будет простым – для любых
Неважно, будет это простая карточная 2D-игра или полноценная ААА-проект – UE обеспечит быстрый процесс разработки с огромным набором ассетов и вспомогательных систем
Знание языка C++ несомненно потребуется для подгонки нюансов и персонализации, но интуитивный механизм добавления объектов позволит проработать игровой мир гораздо быстрее, чем на движках-аналогах. Таким образом, при желании получить результат с отличной графикой, реалистичной физикой и стабильностью работы стоит выбирать именно Unreal Engine.
Что представляет собой Unreal Engine?
Первая версия движка Unreal Engine появилась в далеком 1998 году, когда компания Epic Games выпустила шутер Unreal. Уже тогда он демонстрировал универсальность, совмещая в себе графический и физический движки, систему искусственного интеллекта, управление файловой и сетевой системами, а также включая готовую среду для разработки игр. Авторы движка упростили взаимодействие с ним, чтобы разработчики могли сосредоточиться на создании основных элементов игр, не отвлекаясь на мелочи вроде отладки сетевого кода или вычисления коллизий.
Развитие Unreal Engine шло постепенно, год за годом: движок менял версии, обрастал новыми технологиями – во многом, кстати, революционными для своего времени. Каждая версия UE привносила новые впечатляющие графические эффекты, показанные Epic Games в сверхтехнологичных демо (вроде «Самаритянина»). Благодаря простоте использования, а также лояльным условиям лицензирования, движок использовали многие студии, от инди-команд до крупнейших компаний, выпускающих дорогие ААА-блокбастеры.
По состоянию на 2022 год Unreal Engine (уже в пятой номерной версии) остается чрезвычайно востребованным движком, очень гибким, удобным в использовании и абсолютно разноплановым – поставьте рядом предельно мрачную RTS Battlefleet Gothic: Armada и веселую «Королевскую битву» Fortnite, и вы ни за что не догадаетесь, что обе игры выполнены на одном движке. Epic Games продолжает регулярно обновлять его, используя, в том числе, и для своих проектов, включая вышеупомянутую мегапопулярную Fortnite.
Выполните конфигурацию файла, относящегося к UE4.
2-1. Удалите кеш на диске C и измените адрес кеша UE4, чтобы запросить адрес проекта.
Справочные материалы взяты из статьи блога CSDN:https://blog.csdn.net/cc13813194235/article/details/53424866В то же время я использую версию UE4_4.24.2 для эффективного тестирования.
1. Сначала создайте игровой проект случайно, выберите свой собственный каталог проекта.
2. Закройте UE4 после создания.
3. Найдите каталог, в котором установлен UE4. 4. Найдите файл BaseEngine.ini в UE_4.24 / Engine / Config и откройте его непосредственно в Блокноте.
5. Правка-поиск-введите в поле поиска.
6. Измените содержимое ниже .
7. После изменения проверьте, успешно ли оно выполнено. 1. В файле BaseEngine.ini введите в поле поиска. 2. Найдите выделенный текст на рисунке, то есть модификация прошла успешно, путь к кешу проекта и перейдите в папку проекта.
2-2. Удалите кеш онлайн-программы SwarmAgent.
Каталог кеша: C: \ Users \ имя пользователя \ AppData \ Local \ UnrealEngine \ 4.24 \ Saved \ Swarm \ SwarmCache Удалить SwarmCache
Сталкер 2
Разработчик: Игровой мир GSC | Ожидаемая дата выхода: 8 декабря
Stalker 2 едва не удостоилась чести стать первой крупной игрой на Unreal Engine 5, выпущенной в 2022 году, но ее выпуск был перенесен с весны на декабрь. И теперь у разработчика, базирующегося в Киеве, Украина, больше приоритетов. В настоящее время GSC Game World отодвинула Stalker 2 «на второй план», поскольку студия «стремится помочь сотрудникам и их семьям выжить».
Из того, что мы видели в Stalker 2 до сих пор, это может быть хорошей демонстрацией для Nanite, системы «виртуализированной геометрии» UE5, которая позволяет художникам импортировать чрезвычайно подробные модели в игровой мир, не замедляя его. В начале 2021 года GSC Game World продемонстрировала модель персонажа с видимыми «потертостями, царапинами и торчащими нитками», как описал Закар Бочаров из GSC Game World. Разработчики Сталкера даже создали «инструмент для кастомных зубов», чтобы придать каждой уродливой роже уникальную улыбку.
И еще, годы спустя
Подтверждено, что на Unreal Engine 5 разрабатывается больше игр, но на данный момент удручающе мало подробностей.
Корейские ММО ArcheAge 2 а также Легенда об Имире Пройдут годы, и Kickstarter MMO Ashes of Creation, вероятно, тоже.
Square Enix разрабатывает Квест Дракона 12 на Unreal, но показал только логотип. Точно так же разработчик Gears of War The Coalition использует UE5, но без анонсированных проектов.
Инди-шутеры Квантовая ошибка а также БОЛЬНОЙ стремятся использовать UE5 для создания жуткого эффекта, как и команда Bloober на следующем Слои страха игра, но ни у одной из них нет даже расплывчатых дат выпуска.
Приведенные выше имена, безусловно, не завершают список игр UE5, находящихся в разработке прямо сейчас: есть другие, которые просто не были анонсированы, и несколько игр, работающих на движке, с еще меньшим количеством деталей. Отчасти это связано с тем, что последний год движок был доступен ограниченному кругу разработчиков в раннем доступе. Epic выпустила UE5 для более широкого предварительного просмотра 22 февраля, что стало следующим шагом на пути к полной доступности.
В следующем году самые известные игры, которые в настоящее время разрабатываются на Unreal Engine, вероятно, снова появятся с блестящими обновлениями и сообщениями в блогах, рекламирующими новую технологию. В следующий раз, когда мы увидим лихорадочную мечту Вина Дизеля Ark 2, преемника Dead Space The Callisto Protocol или Mass Effect 5, они, вероятно, тоже продемонстрируют движок Epic следующего поколения.
Базовые взаимодействия с объектами/акторами
Самые простые операции с объектами в Unreal Editor — это перемещение, вращение и масштабирование. Эти три режима расположены в верхней правой части вьюпорта.
Красным на скриншоте выделены три режима во вьюпорте, которые отвечают за перемещение, вращение и масштабирование Скриншот: программа Unreal Editor / Skillbox Media
Выделенный объект можно изменить с помощью клавиш, двигая стрелки в направлении трёх осей — X, Y и Z.
W отвечает за перемещение. Горячие клавиши: Ctrl + ЛКМ (по оси X), Ctrl + ПКМ (по оси Y), Ctrl + ЛКМ +ПКМ (по оси Z).
Анимация: программа Unreal Editor
E — вращение объекта. Горячие клавиши те же, что и при перемещении.
Анимация: программа Unreal Editor
R — масштабирование объекта. Горячие клавиши остаются прежними, за исключением Ctrl + ЛКМ — в этом случае масштабирование происходит одновременно по всем осям.
Анимация: программа Unreal Editor
Точные координаты и размеры объектов также можно настроить во вкладке Details.
Чем хорош Unreal Engine?
Как уже говорилось, Unreal Engine очень гибок и универсален. В отличие от Unity, который требует установки множества плагинов (часто – платных), UE4 уже «из коробки» снабжен всеми необходимыми инструментами разработки. Пользователи, знающие С++, освоят движок быстрее, ведь он использует именно этот язык программирования. Впрочем, для тех, кто не знаком с С++, Unreal Engine тоже поддастся без проблем – все благодаря визуальному редактору Blueprints, который позволяет создавать скрипты и размещать объекты, не написав ни единой строчки кода.
К тому же, движок содержит множество инструментов, которые облегчают работу с ним. Например, поддерживает множество форматов текстур, точно передает физические свойства материалов, позволяет изменять объекты в реальном времени, задавать для них функции и комментарии, автоматически выбрать источники освещения, добавить туман и другие эффекты, и так далее. Большую коллекцию ассетов (платных и бесплатных) можно использовать при разработке игр, а открытый исходный код движка дает возможность вносить в него изменения при необходимости. Движок гибко подстраивается под платформу разработки, что позволяет оптимизировать игры под консоли, мобильные гаджеты и ПК.
Epic Games стабильно держит лидерские позиции в области передовых технологий, поэтому Unreal Engine 4 напичкан ими под завязку, обеспечивая, при должном мастерстве игроделов, впечатляющую визуальную составляющую с качественным освещением (трассировка лучей в реальном времени, конечно же, поддерживается), мягкими тенями, честными отражениями, достоверной анимацией персонажей и прочими эффектами. За счет этого, кстати, движок также используется в создании компьютерной графики в киноиндустрии – например, его силами был создан дроид K-2SO для «Изгоя-1» сцены из «В поисках Дори» и «Мандалорца».
Работа с миром и уровнями
Новый инструмент World Partition позволяет дизайнерам работать с миром не как с набором стриминг уровней, а как с одним большим миром, который автоматически разбивается на более мелкие ячейки.
Их можно загружать/выгружать в редакторе кусками, что кучу времени и ресурсов при работе в редакторе экономит.
Сами изменения (добавить кустик, например) происходят на уровне акторов, а не карты. В итоге можно работать с одной картой одновременно нескольким людям и не будет головной боли при мёрдже.
World Partition позволяет стримить из коробки. Ассеты вне установленного радиуса выгружаются и заменяются другими с меньшим разрешением.
Это всё на уровне конфигов вынесено. Можно настроить под свой проект.
Система Data layers позволят художникам работать вместе над одной сценой и переосмыслить её, создавая различные её вариации.
Эти слои можно переключать в рантайме, что позволяет загружать/выгружать тысячи ассетов на лету.
Как пример, переход в другой мир через портал. Правда, тут, всё же, есть переходный момент с подзагрузкой. Но, всё равно, довольно резво.
Какие вопросы остались без ответов
Мы увидели, что Nanite хорошо работает со статической геометрией — с окружением. Но мы всё ещё не знаем, как это работает с персонажами и скелетными мешами. Можем ли мы использовать героя или монстра, в котором будет два миллиона треугольников, или же мы до сих пор ограничены «бюджетом» в 80 тысяч? А если можем, то как будет справляться с такой нагрузкой GPU на этапе скиннинга?
Не было сказано ни слова о том, поменялся ли процесс рендеринга прозрачных объектов — а все, кто работает в индустрии, понимают, что это очень дорого. Художники и рендер-программисты идут на разнообразные хитрости, чтобы кадр с большим количеством прозрачных объектов всё равно мог отрисоваться за 16 (или 33, если 30 FPS) миллисекунд.Не было демонстрации листвы, растительности. Непонятно, как будет происходить её отрисовка. В случае, если всё это работает ещё и с растительностью — то это просто фантастика.Наконец, интересно, как новая система повлияет на размер билда. Увеличится ли он до сотен гигабайт из-за столь высокодетализированных моделей, или останется примерно таким же за счёт того, что теперь не нужно хранить карты нормалей, LOD и текстуры для них?
Сколько зарабатывает разработчик игр на Unreal Engine 4
На то, сколько получают программисты на движке Unreal Engine 4, больше всего влияет опыт работы и портфолио. Специалисты подразделяются на три категории: Junior (новичок), Middle (со средними навыками и знаниями), Senior (большой опыт и работа с большими проектами за плечами). От того, в какой категории находится разработчик, зависит его зарплата. Также она зависит от перечня обязанностей и типа работы (проектная или постоянная).
Несмотря на то, что Junior-ы — это новички, они должны знать большую часть функционала программы и дополнительного ПО. Другими словами, в этом плане специалист должен быть не менее подготовлен, чем средний разработчик, но опыта у новичка нет вообще. Зарплата Джуниора начинается от 35 тысяч рублей. Обычно в Москве и Петербурге она больше, чем в других городах РФ.
Middle-сотрудник имеет как минимум 1-3 года опыта. Здесь самым важным аспектом является портфолио. Если разработчик имеет лишь годичный опыт, но в его портфолио есть сложные и разнообразные проекты, то почти всегда возьмут его, нежели специалиста с трехгодичным опытом, но намного более скудным портфолио.
Заработок Миддла начинается от 70 тысяч рублей и доходит до 150, причем это именно средний показатель. Можно устроиться Middle-ом с окладом в 200 тысяч рублей.
Senior-ы имеют самую большую заработную плату в этой сфере. У них нет предела заработка, поэтому он может быть как 250, так и 350 тысяч рублей и более. Большинство Сеньоров получают деньги в виде оклада плюс процент с продаж проекта. Если игра была коммерчески успешной, прибыль с нее может исчисляться миллионами, причем не один раз после релиза игры, а на протяжении нескольких лет, пока она будет продаваться.
Примечательно то, что за границей оплата схожа с той, которая есть в России и других странах СНГ. В отличие от большинства профессий, разработка игр на UE4 оплачивается примерно одинаково вне зависимости от страны. Но здесь есть важная деталь.
Из-за того, что большинство престижных игровых студий находятся в Европе и Америке, может показаться, что работать в тех странах выгоднее. Это не так. Выгоднее работать в компаниях гигантах игровой индустрии, которые разрабатывают AAA проекты. К тому же, в России, Украине и Польше, тоже есть несколько высококлассных студий, которые ничем не уступают западным даже в плане бюджета.
Nanite
Виртуальная геометрия позволяет использовать больше полигонов и должна заменить привычные LOD’ы, делая прозрачным весь процесс замены высококачественных ассетов на более простые. Становится возможным отображать миллионы трианглов без проблем.
Работает с новым внутренним форматом мешей, который сильно сжат и поддерживает потоковую передачу с автоматическим уровнем детализации. LOD’ы самим больше делать не надо.
Контент для Nanite ничем не отличается от обычных статичных мешей, но Nanite может обрабатывать на порядки больше треугольников и инстансов, чем при рендеринге обычной геометрии. Рекомендуется использовать виртуальные текстуры.
Во время импорта меши разбиваются на иерархические кластеры групп треугольников. А уже во время рендеринга кластеры меняются местами на лету с разными уровнями детализации в зависимости от обзора камеры и без разрывов соединяются с соседними кластерами в одном объекте. В памяти находятся только видимые детали. Как следствие, чтобы это всё нормально стримилось, нужен SSD.
Для прокси-мешей можно настроить уровень детализации.
Прокси-меши используются для коллизий на уровне полигонов, трассировки лучей, запекания света и другого. При этом по умолчанию используются авто-генерируемый LOD0, что весьма странно
По крайней мере, есть возможность выбрать кастомный прокси и настроить традиционные LOD’ы.
Независимо от геометрической сложности исходных данных в сцене, количество треугольников в целом пропорционально количеству пикселей, т. к. нет смысла рисовать больше треугольников, чем пикселей на экране.
Могут быть проблемы с occlusion culling. Если есть сложнная геометрия близко друг к другу около самой верхней поверхности, Nanite не сможет определить, какая из них находится сверху или снизу, что приведет к отрисовке обоих. Вблизи Nanite нормально разделяет слои, но при удалении разница в расстоянии между геометрией может быть меньше пикселя, что приводит к лишней отрисовке.
Если верить доке, то у Nanite меша и качество лучше, и размер меньше.
Основы навигации
Проще всего перемещаться во вьюпорте с помощью мыши. Удерживая ЛКМ, можно двигать камеру в пространстве уровня по горизонтальной плоскости. При удержании ПКМ камера будет вращаться. При нажатии на среднюю кнопку мыши или ЛКМ и ПКМ одновременно, камера будет вращаться как в горизонтальной, так и в вертикальной плоскостях. Прокрутка колёсика мыши отвечает за перемещение камеры вперёд-назад в рамках локальных координат.
Простая навигация мышью во вьюпорте Unreal Engine 5Анимация: программа Unreal Editor
Если при этом зажать клавишу Alt, камера начнёт двигаться вокруг определённой точки. Подобные манипуляции известны тем, кто знаком с интерфейсом Autodesk Maya.
Alt + ЛКМ — вращение камеры в пределах горизонтальной плоскости вокруг оси/точки интереса.
На примере показана разница между обычным удержанием ЛКМ и комбинацией ALT + ЛКМАнимация: программа Unreal Editor
Alt +ПКМ — перемещение/увеличение ракурса камеры в пределах оси / точки интереса.
На примере показана разница между обычным удержанием ПКМ и комбинацией ALT + ПКМАнимация: программа Unreal Editor
Кнопка Alt не влияет на перемещение при удерживании средней кнопки мыши.
Также во вьюпорте можно перемещаться с помощью клавиш WASD, но только при зажатой ПКМ. В этом же режиме работают клавиши Q и E (опустить/поднять камеру), а Z и С отвечают за фокус, или поле зрения (FOV). Очень удобный метод, так как навигация происходит по стандартным принципам игрового управления.
Примечание
Помимо буквенных клавиш, аналогичным образом работают клавиши Numpad и стрелки на клавиатуре.
F — фокус на определённом объекте/акторе. При нажатии Alt + ЛКМ или Alt +ПКМ камера будет вращаться вокруг выбранного объекта. Также можно сфокусироваться одновременно на нескольких акторах, отметив их по очереди с помощью Ctrl (убедитесь, что у вас включён стандартный режим выделения — Q) или выделив группу объектов в ортогональном режиме Orthographic.
Манипуляции с одним объектом в Unreal EditorАнимация: программа Unreal EditorФокус на группе объектов в Unreal EditorАнимация: программа Unreal Editor
Примечание
Для корректного масштабирования и вращения камеры вокруг выделенных объектов рекомендуем зайти в настройки Edit — Edit Preferences — Level Editor — Viewports и в разделе Controls отметить галочками пункты Use distance-scaled camera speed и Orbit camera around selection.
Что теперь делать Unity
Unreal Engine же, как известно, работает с симуляцией геймплея в одном потоке. Да, там есть многопоточная функциональность — например, для расчёта анимаций, — но в целом, для современных консолей это не лучшее решение.
Кадры из короткометражки The Heretic на Unity
С другой стороны, стоит учитывать то, что Epic распространяют исходный код движка в открытом виде — во всяком случае, для четвёртой версии. Если подобная практика будет применена и для Unreal Engine 5, то это всего лишь вопрос времени, когда подобные технологии появятся у Unity, CryEngine, Lumberyard и прочих, в том числе проприетарных, игровых движков. В этом случае мы сможем говорить об изменении пайплайнов не только у разработчиков на Unreal Engine, но и во всей индустрии в целом.Возвращаясь к Unity: у них очень сильная инженерная команда, и я не сомневаюсь, что они держат руку на пульсе и обязательно как-то ответят. Противостояние двух движков, само собой, продолжится, и станет только ещё более интересным. Но нужно признать, что Epic Games первой сделала шаг в сторону настоящего next-gen опыта и новых пайплайнов разработки.
Features of Hardware Ray Tracing
The following hardware ray tracing features are supported.
Ray Traced Shadows
Ray Traced Shadows simulate soft area lighting effects for objects in the environment. This means that based on the light’s source size or source angle, an object’s shadow will have sharper shadows near the contact surface than farther away where it softens and widens.
Ray Traced Ambient Occlusion
Ray Traced Ambient Occlusion (RTAO) accurately shadows areas blocking ambient lighting better grounding objects in the environment, such as shadowing the corners and edges where walls meet or adding depth to the crevices and wrinkles in skin.
When compared with Screen Space Ambient Occlusion (SSAO), RTAO grounds objects and adds depth to the scene to produce natural looking shadowing in indirectly lit areas.
By varying the Intensity and Radius properties of the Ambient Occlusion effect, you can control its size and strength.
Ray Traced Reflections
This feature of ray tracing is deprecated and may be removed in a future release.
Ray Traced Reflections (RTR) simulates accurate environment representation supporting multiple reflection bounces.
This example shows a single bounce of ray traced reflections compared to multiple bounces of ray traced reflection. Using multiple bounces creates real-time inter-reflection between reflective surfaces in the scene.
In contrast, Screen Space Reflections (SSR), Planar Reflections, or even Reflection Capture Actors cannot capture the entire scene dynamically nor does it have some of the limitations present in these other reflection methods.
In this comparison, SSR is only capable of a single reflection bounce and is limited to what is visible on the screen for representation. On the other hand, RTR is capable of multiple bounces and is not limited to what is visible, meaning that we can visibly see the sides of the book, reflected floor behind the camera, and additional lightings being reflected on surfaces coming through the window.
Ray Traced Translucency
This feature of ray tracing is deprecated and may be removed in a future release.
Ray Traced Translucency accurately represents glass and liquid materials with physically correct reflections, absorption, and refraction on transparent surfaces.
Ray Traced Global Illumination
This feature of ray tracing is deprecated and may be removed in a future release.
Ray Traced Global Illumination (RTGI) adds real-time interactive bounce lighting to areas of your scene not directly lit by a given light source.
There are two ray-traced global illumination methods to choose from in the Post Process Volume:
-
Brute Force emulates offline renderers indirect lighting, but is slower to render.
-
Final Gather provides a single bounce of indirect lighting, but is faster to render.
Final Gather Method
This feature is experimental.
The Final Gather approach to ray-traced global illumination uses a final gather-based technique that trades some quality for runtime performance. The technique is a two-pass algoirthm, whereby the first pass distributes shading points throughout the scene — similarly to the Brute Force method — but at a fixed rate of one sample per pixel. A history of up to 16 shading point samples are stored in screen space during this pass. During the second pass, the algorithm attempts to reconnect to the shading point history, amortizing the cost of the method.
The Brute Force algorithm is intended to emulate the Path Tracer’s ground truth reference and is similar in how it executes the result. The Final Gather method trades that emulation for performance. This has it’s own limitations, like being limited to a single bounce of indirect diffuse global illumination, and reprojection from the previous frame sample data is susceptible to ghosting when the camera is moving fast.
To aid in suppressing temporal ghosting artifacts, you can use the following command to modify the world space rejection criteria.
It is currently based on a world distance measured from the original shading point. This rejection crieteria defaults to 10 units.
The Final Gather method also requires the following settings to be used in the Post Process Volume for it to work effectively:
-
Max Bounces: 1
-
Samples Per Pixel: 16
Any additional Max Bounces beyond 1 are silently discarded and when adjusting the Samples Per Pixel. It’s best to increase the value by powers of two (8, 16, 32, 64).
Погрузимся глубже
Matrix Awakens в полной мере демонстриует возможности таких технологий как: Niagara, Nanite, Lumen и системы геометрии микрополигонов.
Город содержит 7 миллионов ассетов, а каждый из них состоит из миллионов полигонов: 7000 зданий, 45000 машин, из которых 38000 находятся в движении. 260 километров трасс и более 500 километров тротуаров. 1200 перекрёстков, 27000 фонарных столбов и 12000 канализационных люков. Nanite занимается обработкой и рендерит этот контент в синематик-качестве. MetaSounds создаёт дополнительное погружение за счет шума, которого в оживлённом городе очень много.
Глобальная динамическая система освящения в Unreal Engine 5 Lumen включает в себя трассировку лучшей в реалтайме. Свет, тени и отражения — в контексте освещения солнца и неба днём, а ночью — луной. Никаких дополнительных источников света не используется.
Performance and Debugging
The following sections suggest starting points and basic tooling you can use to debug and inspect the performance of hardware ray tracing in your projects.
Stat GPU
Use the stat command to check relevant GPU performance of ray tracing features. It provides relevant information about ray tracing features which are enabled and how much frame time is being spent on each to render the current scene view.
Ray Tracing Debug View Modes
Hardware ray tracing provides a selection of debug view modes to look at specific areas and features of ray tracing. Use the Level Viewport to access these debug views from the View Modes dropdown under Ray Tracing Debug.
Force Disable All Ray Tracing Effects
Use the console variable to quickly enable or disable all ray tracing features in the scene.
-
disables all ray tracing features.
-
1 enables all ray tracing features.
-
-1 uses the state previously set by any console variables and it uses values set in the Post Process Volume. (Default)
Оптимизация
Над демо работало около 70 человек, и их основной задачей было показать работу новых технологий движка, Lumen и Nanite – систем освещения и виртуализации геометрии соответственно.
Сами по себе эти технологии уже упрощают жизнь разработчикам, но при должной оптимизации можно добиться более впечатляющих показателей производительности. Например, в демке разработчики решили не выгружать из памяти все объекты, которые находятся вне поля зрения игрока, хотя в играх уже давно отрисовывается только та часть мира, на которую смотрит игрок. Более того, рендерится сразу весь город, а это более 7 тыс. зданий.
Другие цифры от разработчиков:
- Общая площадь города – 15,79 км2 (карта в Skyrim – 30 км2, The Witcher III: Wild Hunt – 135 км2, GTA V – 81 км2).
- В городе 260 км дорог и 512 км тротуаров.
- 35 тыс. пешеходов, созданных с помощью MetaHuman.
- 17 тыс. единиц автомобилей, которые можно разбить и повредить. В общей сложности в мире насчитывается 45 073 припаркованных автомобиля, 38 146 из которых можно водить.
- Было создано почти 10 млн оригинальных и дублированных ассетов для наполнения города.
Пример отрисовки мира в Horizon: Zero Dawn
«Киношный» bloom-эффект создает эффект свечения на краях объекта, так называемая засветка. – Прим. ред.. Разработчики решили, что раз уж они делают игру, похожую на кино, то и эффекты нужно брать соответствующие. Разумеется, в играх никто не будет использовать такой, по словам разработчиков, дорогой bloom.
Дорогой bloom-эффект
Nanite – передовая технология виртуализированная система геометрии в UE5, которая использует внутреннюю полигональную сетку и позволяет создавать большое количество высокодетализированных объектов без ущерба производительности. – Прим. ред. со своими недостатками.
Основной недостаток – технология работает только с твердыми поверхностями и не понимает деформацию. Все объекты в игре сделаны с помощью Nanite, в том числе автомобили. В момент столкновения часть автомобиля, которая подвержена деформации, заменяется с «нанитовой» полигональной сетки (Nanite Mesh) на статическую полигональную сетку (Static Mesh), которая используется в современных играх. В момент «подмены» производительность ощутимо падает. Разработчики не успели сделать этот переход более плавным, и во всем демо он считается наиболее болезненным местом оптимизации.
Цветом отображается Nanite Mesh, черным – поврежденные автомобили, которые были заменены на Static Mesh
Что такое временное суперразрешение и как оно работает?
Наряду с другими новыми технологиями, встроенными в Unreal Engine 5, Epic также объявила, что разработала новую технику масштабирования под названием Temporal Super Resolution для приложений, основанных на Unreal Engine 5. Эта технология преследует единственную цель — не что иное, как повышение производительности за счет Увеличьте масштаб изображений с низким разрешением, сохранив как можно больше деталей. Вам эта цель знакома? это действительно нравится NVIDIA DLSS or AMD верностьFX , но мы отложим это на потом.
Хотя Epic не упомянула о сотрудничестве с какой-либо компанией в этом направлении, AMD сделала это в официальном сообщении в блоге, в котором представлен обзор изменений, связанных с этим новым движком. Они совершенно ясно дают понять, что Temporal Super Resolution не имеет ничего общего с FSR (FidelityFX Super Resolution), которую AMD разрабатывает как конкурент NVIDIA DLSS, и что на самом деле AMD, скорее всего, анонсирует эту технологию очень скоро.
К сожалению, Epic не подробно описывает, как работает TSR, но, похоже, он очень похож на AMD Radeon Boost , который динамически изменяет разрешение визуализированных изображений в зависимости от движения, именно поэтому он называется «временным». Компания, стоящая за движком, утверждает, что улучшенное изображение 1080p при разрешении 4K может отображаться со скоростью 43 кадра в секунду; та же сцена, но отрендеренная с исходным разрешением 4K, будет 18.6 FPS, поэтому мы определенно говорим о огромное улучшение производительности .
В любом случае, если это так, как ожидалось, то, что будет делать Temporal Super Resolution, — это динамически обнаруживать изображения или их части, которые повторяются в двух последовательных кадрах, так что эти кадры или части будут отображаться с более низким разрешением для экономии ресурсов, когда система, ни больше ни меньше.
Unreal Engine 5 работает со всеми графическими процессорами Shader Model 5, включая AMD, Intel видеокарты NVIDIA и даже консоли следующего поколения, поскольку в них установлены графические процессоры AMD RDNA 2. Однако стоит отметить, что NVIDIA также объявила, что DLSS доступен с Unreal Engine 5 Early Access для упрощения интеграции, поэтому у разработчиков, вероятно, будет выбор.
Почему Unreal Engine 4 — один из лучших движков для работы над играми
Есть несколько причин большой популярности UE4.
UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру.
В Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам.
Движком можно пользоваться бесплатно: в лицензионном соглашении Unreal Engine указано, что пока ваша игра не принесёт более $1 000 000 — после этого придётся платить 5% от дохода.
Есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android.
У движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.
Epic Games постоянно устраивает бесплатные раздачи ассетов, которые могут пригодиться при разработке игры
Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.
«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование.
Но и эту теоретическую базу можно изучать, применяя Blueprints. И даже без неё можно сделать что-то интерактивное, например, кнопку, которая открывает дверь. Язык Blueprints крайне прост в освоении, и в нём есть много решений, которые делают его применение удобнее. Например, цветовая индикация различных типов переменных», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения