«unreal engine 5 снимает оковы и даёт настоящую свободу»

Черный миф: Вуконг

Разработчик: Игровая наука | Ожидаемая дата выхода: 2023, может быть

В 2020 году ни одна игра не произвела такого фурора, как Black Myth: Wukong, приключенческая игра, основанная на Journey to the West, разрабатываемая китайской студией Game Science. Дебютный трейлер Black Myth выглядел невероятно, но на самом деле в то время он работал на Unreal Engine 4; в 2021 году разработчики перешли на Unreal Engine 5, процесс, который они назвали «неожиданно гладким» в интервью в блоге Unreal.

«Nanite значительно снижает сложность оптимизации производительности для сред», — сказал технический директор и соучредитель студии Чжао Вэньонг. «А с помощью Lumen нам больше не нужно запекать карты освещения или использовать точечные источники света для имитации глобального освещения». Game Science не рассчитывает закончить Black Myth как минимум до 2023 года, но мы видели больше, чем любая другая игра Unreal 5 до сих пор.

Базовые взаимодействия с объектами/акторами

Самые простые операции с объектами в 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.

Сталкер 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 следующего поколения.

Создания

Монстры — крупная часть истории в нашей короткометражке. Мы хотели, чтобы они выглядели устрашающе и смертельно, были вездесущей угрозой для всех. Они также были глазами Фирмы на улицах города. Нашей целью было оставить зрителя с собственными выводами: монстры были созданы Фирмой или она их лишь поработила? Они из этого мира? Может, это голограмма?

Идея создать оленя тоже пришла совершенно неожиданно. Она созрела во время нашего первого проектирования и в итоге стала нашей главной отдушиной. Сливаясь с логотипом Фирмы, он — ключ к пониманию того, что люди когда-то уничтожили каждое живое существо, а затем попытались воссоздать их с помощью технологий.

Чтобы создать существ, мы использовали игровую библиотеку, затем построили грани в Houdini и использовали шейдер волос Unreal Engine, чтобы достичь требуемого результата. Это был настоящий вызов, из которого мы вынесли очень много опыта.

Процесс создания

Идея родилась в прошлом году во время последнего семестра в Школе Цифрового Искусства и Дизайна в Монреале. Для успешного завершения учебы нам было необходимо разработать дипломный проект. Времени было всего четыре месяца, с января по май.

В начале работы мы не знали в каком направлении двигаться, но команда была сформирована еще на прошлых проектах. Мы отлично работаем вместе, всегда открыты для внутренней критики, подпитываем друг друга энергией, мотивируем, вдохновляем. С такой синергией мы были готовы к любым препятствиям.

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

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

Почему так важно выделяться

Итак, нужно ли вообще гоняться за реалистическим визуалом с инструментами такого уровня? Если все игры будут все равно реалистичны, может, лучше фокусироваться на игровых механиках? Взгляните на этот скриншот. Сколько игр вы здесь видите?

Сколько игр на скриншотах?

Ответ: три игры. Far Cry5 (два скриншота сверху), COD MW 2, Arma 3 снизу.

Идем дальше. Сколько игр видите здесь?

Сколько игр на скриншотах?

Ответ: одна игра — Battlefield.

А тут?

Сколько игр на скриншотах?

Ответ: 4 игры — Wolfenstein, Doom, Dishonored, Prey.

И давайте последний раз:

Сколько игр на скриншотах?

Ответ: 4 игры — Atomic Heart, Witness, Firewatch, Space Bastards.

Как видите, игры со стилизованной графикой сразу выделяются и запоминаются, в отличие от реалистичных тайтлов.

Работа с миром и уровнями

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

Их можно загружать/выгружать в редакторе кусками, что кучу времени и ресурсов при работе в редакторе экономит.

Сами изменения (добавить кустик, например) происходят на уровне акторов, а не карты. В итоге можно работать с одной картой одновременно нескольким людям и не будет головной боли при мёрдже.

World Partition позволяет стримить из коробки. Ассеты вне установленного радиуса выгружаются и заменяются другими с меньшим разрешением.

Это всё на уровне конфигов вынесено. Можно настроить под свой проект.

Система Data layers позволят художникам работать вместе над одной сценой и переосмыслить её, создавая различные её вариации.

Эти слои можно переключать в рантайме, что позволяет загружать/выгружать тысячи ассетов на лету.

Как пример, переход в другой мир через портал. Правда, тут, всё же, есть переходный момент с подзагрузкой. Но, всё равно, довольно резво.

Что означает Unreal Engine 5 для художников в геймдеве?

Давайте вкратце разберемся с тем, какие основные фичи Unreal Engine 5 будут самыми важными для художников.

Nanite

Инструмент Nanite — это современный подход к визуализации геометрии.

Он очень неприхотлив к ресурсам несмотря на то, что с его помощью можно размещать на сцене высокодетализованные объекты с миллионами деталей. Nanite позволяет работать с high poly
Детализированная модель без ограничений по полигонам. На таких моделях могут быть сделаны все, даже самые маленькие детали. Такие модели часто производят концептеры, а в видеоиграх такая геометрия нужна для запекания нормала. сценами как никогда раньше. Потенциально это позволяет не заниматься low-poly оптимизацией, мержем сцен и HLods. А это освобождает много времени и сил на более креативные задачи.

Создание высокодетализованных объектов

Megaskans

Megaskans — это бесплатная библиотека фотореалистических ассетов премиального качества.

Фотореалистичный ассет

Разработчики Megaskans взяли на себя всю тяжесть сканирования разнообразных объектов и добавления их в Asset Store. Все ассеты в Megaskans уже готовы к работе с Nanite по умолчанию.

Lumen

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

С Lumen можно будет не запекать свет. То, что было трудным на объектах окружения высокого качества вручную, теперь делается автоматически. 

Возможность не запекать свет с инструментом Lumen

Metahuman

Metahuman — это новый кастомайзер для человекообразных персонажей.

Бесплатный, фотореалистичный, с поддержкой волос и ткани, готовый к применению в UE5 по умолчанию. С таким инструментом очень сложно создать некрасивого персонажа. Также у всех персонажей из Metahuman есть готовый риг и они готовы к анимации. 

Красивые человекоподобные персонажи

Как разработать стиль

Итак, что является составной частью стиля и как его создать? Часто стилизованную графику легче создать по сравнению с реалистичной. В большинстве случаев стиль упрощает некоторые элементы вашего творчества. Любой элемент игры может быть упрощен: свет, тени, цвета, формы, частицы (particles). Вспомните, как у Симпсонов было по четыре пальца. 

Есть примеры того, как нехватка ресурсов создала стиль. Один из лучших — игра Silent Hill .

Технологии того времени не могли поддержать отражение столь большого уровня — не хватало графической мощности. Разработчики решили добавить туман.

Это сохранило ресурсы консоли и сильно повлияло на атмосферу и стиль игры. Туман Silent Hill стал ключевым элементом стиля для всей франшизы.

Туман Silent Hill стал ключевым элементом стиля игры

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

Но не стоит забывать о правиле gameplay first. Люди играют в игры, а не смотрят их. Игрок должен иметь хорошее понимание о том, куда смотреть, идти и с чем взаимодействовать. Хорошие примеры здесь — это подсветка нужных объектов в Uncharted и Mirror’s Edge.

Разделите персонажей, отделите фон, сделайте все читабельным, не добавляйте слишком многое на малое пространство, помните о формуле big-mid-small. Вот хорошие примеры такой работы:

Все могут различить и узнать модели и анимации из Fortnite

Mirror’s Edge может хвастаться геймплеем в просторном городе и революционной системой подсветки интерактивных объектов (которую можно отключить, что коренным образом изменит геймплей и его сложность).

Игра Ghost of Tsushima — это отличный пример стилизации реалистической графики. Правильные акценты в кадре и штуки типа palette limitation позволяют думать, что каждый кадр игры выставлен вручную.

Legend of Zelda: Breath of the Wild выделяется простыми текстурами и ярким светом с выделенными акцентами. Что интересно, многие пытались скопировать этот стиль, но мало у кого получилось.

Нарратив

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

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

Чтобы разложить идеи в сценах мы сделали раскадровку. Отсюда мы начали процесс редактирования, чтобы выдержать ритм истории и самого мира. Так получилось выделить места, где надо что-либо вырезать, и места, где надо что-либо добавить для поддержания интереса и понятности сюжета.

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

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

Человек

Человек — бывший служащий Фирмы, подключенный к рукотворной машине в своей ванне. Он пытается отделить свое сознание от тела. Мы добавили деталей к его лору, сделав много снимков в ванной. Мы хотели внести неясности тому, что он делает, зачем он это делает и где. Да и самому результату.

Для создания скина мы использовали скин шейдер из обучающей вкладки Unreal Engine. Пришлось нелегко, поскольку аниматоров у нас в команде нет вообще. Но несмотря на трудности было весело.

Затем мы использовали физику Unreal, чтобы показать движения проводов у него на голове. В анимировании человека и дрона нам помог наш друг Чарльз-Этьен Гуин, присоединившийся на последние две недели проекта.

Дополнительные комбинации для вьюпорта

Также существует несколько горячих клавиш, влияющих на отображение уровня во вьюпорте.

G (Game Mode) — показывает содержимое уровня без UI (выделения объектов, источников света, камеры и так далее).

Анимация: программа Unreal Editor

Alt + P — старт симуляции проекта в реальном времени.

На примере показана симуляция в реальном времени. В данном случае на кубик по умолчанию действуют законы физики, и он падает, так как в режиме редактирования находился не на поверхностиАнимация: программа Unreal Editor

F11 — Просмотр вьюпорта в полноэкранном режиме.

В следующей части цикла мы разберём особенности работы с Content Drawer (Content Browser), а также рассмотрим функционал и настройки этого раздела и разберёмся с процессом загрузки ассетов в редактор.

Какие навыки нужны разработчику на Unreal Engine 4

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

Если разработчик работает в команде, то к этим хард-скиллам прибавляется необходимость владеть софт-скиллами: уметь ясно доносить свою мысль, корректно реагировать на фидбэк и так далее. Конечно, если разработчик создаёт игру в одиночку, то требования к софт-скиллам снижаются.

Технические трудности

Главной трудностью было коллективное изучение всего и сразу в Sequencer’е, нашем главном инструменте. От камер и таймингов до специфического управления визуальными эффектами, мы были готовы нырнуть в него с головой.

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

Для шейдеров и эффектов, основывающихся на узле “Time”, но не требующих точности, была найдена альтернатива: узел был полностью заменен регулируемой переменной с прямым линком в Sequencer через Material Parameter Collections. Этот подход позволил нам создать множественные переменные, контролирующие все части шейдеров: от времени наполнения цветом до того как “волнисто” двигается ударная волна. Разносторонность поражала: живой контролируемый визуал, редактируемый художниками, включая материалы постобработки.

Техническая особенность, которая заняла большинство времени разработки — эффект ударной волны/ глитча: необходимо было создать ей импульс, и мы хотели, чтобы она отличалась от голограмма-подобных эффектов. Был необходим контроль, поскольку нарратив позволял им воздействовать лишь с естественными ассетами, такими как олень, поляна и монолитное дерево. Таким образом мы создали функцию материала “Glitch” для пост-обработки. Ударная волна и экраны в ванной комнате — это простой перегруз ультрафиолетового излучения, но какой гибкий!

В центре эффекта глитча/ ударной волны было перемещение горизонтальных полос, чтобы деформировать ультрафиолетовое излучение целевого объекта. Применение к “Masked” материалам создало перегруженный силуэт, в то время как применение к экранам в пост-обработке перегрузило всю картинку, словно реальный глитч, без ограничений по геометрии или типе материала, давая результат как на изображении ниже:

Комментирование и группировка узлов: Just do it.

Наибольшей трудностью для нас была сцена в ванной: экраны отображали сразу несколько коротких видеофайлов. Как бы то ни было, благодаря видео декодеру и отдельному декодеру Unreal, стало намного труднее вставить видео в рамки необходимого фреймрейта. Пришлось учиться вручную трансформировать видео в последовательности изображений (под управлением Unreal), чтобы наконец достичь нужного результата.

Спасибо за чтение! Мы надеемся, FRAGMENT вдохновил вас на создание своего уникального проекта на UE4. Дополнительную информацию можно найти в Артстейшене Эдриана. 

Сколько зарабатывают разработчики на Unreal Engine 4

По данным компании Values Value, которая собирает информацию о трудовом рынке в геймдеве, средняя зарплата для разработчиков на Blueprints составляет около $1 550. Для разработчиков на C++ средняя зарплата приближается к $2 500 (здесь учитываются и те специалисты, которые используют C++ вне UE4).

Чтобы оценить востребованность UE4-специалиста на рынке, достаточно взглянуть на количество вакансий в этой сфере. На hh.ru можно найти более 200 предложений о работе для разработчиков на Unreal Engine 4. При этом там встречаются совершенно разные предложения: офис/удалённая работа, VR/мобайл/консоли, вакансии для junior/middle/senior.

Что же такое стилизация

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

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

Unfinished Swan, Sayonara Wildhearts, Remember me, Pathologic 2

Системы для работы со светом и атмосферой

Новая система для глобального освещения Lumen позволяет настроить реалистичный реалтайм свет. Если ещё совмещать с фотореалистичными ассетами из Мегасканс, то картинка просто на новый уровень выходит.

Lumen Global Illumination заменяет Global Illumination Screen Space (SSGI) и Distance Field Ambient Occlusion (DFAO). Lumen Reflections заменяет Screen Space Reflections в Unreal Engine 4.

Lumen генерирует Surface Cache для ближайших поверхностей сцены (где-то 200 метров от камеры). За этим расстоянием работает только screen traces.

Есть экспериментальное представление Distant Scene. Оно как раз было использовано в прошлой демке Unreal Engine 5 «Lumen in the Land of Nanite» для достижения непрямого освещения в каньоне. Покрывает диапазон от 200 метров до 1 километра от камеры. Работает путём рендеринга Reflective Shadowmap с низким разрешением от солнца с использованием Nanite и отслеживает это поле высот, чтобы уловить один отскок непрямого освещения солнца. В проде пока не рекомендуется использовать.

При трассировке сначала прогоняется Screen Tracing, т. к. он меньше жрёт ресурсов.

Потом уже Lumen Ray Tracing, состоящий из двух методов: программная трассировка, работающая на самом широком спектре железа и платформ, и аппаратная трассировка лучей, для работы которой требуются поддерживаемые видеокарты и системы.

По умолчанию работает Signed Distance Fields. Требует поддержка Shader Model 5 у железа. Много ограничений: работает только со статикой, World Position Offset не поддерживается, с прозрачностью проблемы.

Hardware Ray Tracing поддерживает больший спектр доступной геометрии. Проседает, если больше 100 000 инстансов. Динамическая деформация мешей может загнать фпс в 0.

Для работы Lumen нужна карта NVIDIA RTX-2000 серии и выше или AMD RX-6000 и выше.

Система для атмосферы позволяет легко всё настраивать, в том числе и объёмные облака. На уровне настроек куча модификаторов и параметров, которые позволяют твикнуть всё.

Почему 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.

Пример логики для шарика, который отскакивает от препятствий и теряет скорость после каждого столкновения

Основы навигации

Проще всего перемещаться во вьюпорте с помощью мыши. Удерживая ЛКМ, можно двигать камеру в пространстве уровня по горизонтальной плоскости. При удержании ПКМ камера будет вращаться. При нажатии на среднюю кнопку мыши или ЛКМ и ПКМ одновременно, камера будет вращаться как в горизонтальной, так и в вертикальной плоскостях. Прокрутка колёсика мыши отвечает за перемещение камеры вперёд-назад в рамках локальных координат.

Простая навигация мышью во вьюпорте 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.

Nanite

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

Работает с новым внутренним форматом мешей, который сильно сжат и поддерживает потоковую передачу с автоматическим уровнем детализации. LOD’ы самим больше делать не надо.

Контент для Nanite ничем не отличается от обычных статичных мешей, но Nanite может обрабатывать на порядки больше треугольников и инстансов, чем при рендеринге обычной геометрии. Рекомендуется использовать виртуальные текстуры.

Во время импорта меши разбиваются на иерархические кластеры групп треугольников. А уже во время рендеринга кластеры меняются местами на лету с разными уровнями детализации в зависимости от обзора камеры и без разрывов соединяются с соседними кластерами в одном объекте. В памяти находятся только видимые детали. Как следствие, чтобы это всё нормально стримилось, нужен SSD.

Для прокси-мешей можно настроить уровень детализации.

Прокси-меши используются для коллизий на уровне полигонов, трассировки лучей, запекания света и другого. При этом по умолчанию используются авто-генерируемый LOD0, что весьма странно

По крайней мере, есть возможность выбрать кастомный прокси и настроить традиционные LOD’ы.

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

Могут быть проблемы с occlusion culling. Если есть сложнная геометрия близко друг к другу около самой верхней поверхности, Nanite не сможет определить, какая из них находится сверху или снизу, что приведет к отрисовке обоих. Вблизи Nanite нормально разделяет слои, но при удалении разница в расстоянии между геометрией может быть меньше пикселя, что приводит к лишней отрисовке.

Если верить доке, то у Nanite меша и качество лучше, и размер меньше.

Окружающая среда

шестая неделя проекта

десятая неделя проекта

четырнадцатая неделя проекта

Мы изучали много примеров окружающей среды на Unreal Engine, прежде чем решить в каком направлении двигаться. Мы хотели отобразить чувство отсутствия времени, мистики и кинематографический вид без постпродакшена.

Мы много играли с перспективой, пряча направленные источники света за крупными элементами, чтобы создать тень. Мы также превысили размер мешей, чтобы увеличить перспективу кадров. Мы также использовали фичи Sequencer, чтобы спаунить целые части города, и двигать экспоненциальную высоту и направленный свет в таймлайне. Мы использовали много материалов пост-процесса и настроек LUT, чтобы достичь нужного визуального качества.

Себастьян Примо и Мартин Дешамболт очень помогли нам с визуальной составляющей и единым видением короткометражного фильма. Они указали на каждую нашу ошибку и помогли их исправить. С 10 по 15 неделю мы каждую неделю устраивали показ малой аудитории ради фидбека от свежих глаз. Благодаря этой критике мы смогли выверить каждый кадр.

Мы использовали только модульные ассеты и материалы, чтобы оставаться в игровых рамках, так как желали остаться в индустрии в будущем. Мы работали в Substance Designer, чтобы создать органичные материалы и легковоспроизводимые вариации через плагин Substance. Мы применяли декали для создания шума и зернистости в наших ассетах.

Мы также использовали материал позиции мира, чтобы создать по-настоящему большие ассеты и формы, построить наш город с хорошим соотношением текселей вне зависимости от размера ассетов. Это также позволило изменять материалы в Sequencer’е, чтобы убедиться в качестве каждого ассета в каждом кадре.

Текстуры растительности были смесью Quixel Megascans и наборов из Unreal Engine Marketplace. Затем мы использовали SpeedTree для создания ассетов и Substance Designer, чтобы комбинировать карты. Шейдеры, сплайны и виды растительности Unreal были очень полезны при создании больших площадей реалистичного пространства без просадок в производительности. Мы использовали ручные шумы для ветра (с расширенными параметрами для Sequencer’а), чтобы создать особую атмосферу.

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

Мы собрали короткометражный фильм в билд, чтобы наблюдатели могли передвигаться от первого лица и изменять направленное освещение. Первый просмотр был запланирован сразу после двух коротких пререндеренных VFX фильмов. Нас невероятно возбудил тот факт, что мы выжали из себя все, что могли, встав практически на один уровень с двумя другими VFX командами, но еще и датли зрителям возможность свободно перемещаться по сцене без просадок FPS.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Клуб GTA
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: