Рендер авто в unreal engine

Архитектурная визуализация в Unreal Engine 4

Работая над проектом, архитекторы и дизайнеры прибегают к такому способу подачи, как 3D визуализация. Чаще всего это статичное изображение, полученное с помощью визуализаторов vRay, MentalRay, Corona и других.
В данной статье речь пойдет о визуализации архитектурных проектов на движке Unreal Engine. Рассмотрим все плюсы и минусы, а также поделюсь своими впечатлениями и опытом на примере готового проекта:

Моделирование

Моделировать и экспортировать объекты можно в любом 3D редакторе (3ds Max, Blender, Maya и пр.) Желательно, чтобы модель имела хорошую топологию и полигонаж в разумных пределах (если говорить об интерьерах, то основные объекты, такие как диван, кровать и др. не должны превышать 100 тысяч треугольников, т.к. это сильно сказывается на производительности). Лучше, конечно, делать ретопологию каждой модели вручную, но для достижения приемлемого результата можно обойтись и автоматическими средствами, программами или плагинами.
Все модели должны иметь развёртку, чем ровнее она будет, тем качественнее на неё ляжет текстура и, забегая вперёд, свет с тенями, которые предварительно считаются в Unreal Engine.

Материалы

Для построения логики в UE4 используют нодовую систему Blueprint. Она заменяет собой необходимость в программировании, но не исключает возможность писать на C++.
Ниже показаны основные шейдеры, используеммые в сцене, построенных на Blueprint:

Так-как для создания рельефных поверхностей движок требует только normal карту, то есть возможность процедурно создать эту карту из чёрно-белого изображения c помощью нода NormalFromHeightmap

В данном примере была использована чёрно-белая карта, смешанная с числовыми значениями и применена в свойства Metallic и Roughness

На прозрачность материала влияет свойство Opacity, которое регулируется float нодом (значение от 0 до 1)

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

Base ColorMetallicSpecularRoughness

Освещение

В сцене используется три типа освещения:

После того, как все объекты и источники света были размещены, необходимо просчитать Это некий аналог рендера, который просчитывает взаимодействия всех статичных источников света со статичными моделями. Проще говоря, отбрасывает и запекает тени.
Если после просчёта модель или источник света были передвинуты или удалены, тень останется и придётся заново пересчитать сцену.

Интерактив

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

1. Открывание и закрывание двери
Рассмотрим простой вариант, когда дверь открывается автоматически, если приближается игрок и закрывается, если игрок отдаляется:

Сама дверь состоит из двух элементов: статичная модель дверного проёма и интерактивное дверное полотно, логика которого описана в Blueprint.
В компоненты чертежа входит статичная 3D модель дверного полотна и фигура Box, которая играет роль триггера:

Нодовая структура выглядит следующим образом:


Ноды OnComponentBeginOverlap и OnComponentEndOverlap отвечают за коллизию с триггером.
Timeline_0 — это анимация с функцией Float Track (New Track 0).
Make Rot создаёт вращение по любой оси, в данном случае по оси Z (Yaw).

Функция Float Track (New Track 0):

Нам остаётся скомпилировать Blueprint и добавить его в сцену, выровняв точно под дверной проём.

2. Звуковые эффекты
Вы можете оживить ваш проект, добавив в сцену Ambient Sound. Например, пустить ненавязчивую музыку на задний план или добавить звуковой эффект при открывании/закрывании дверей.

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

Так Post Process Volume выглядит в Unreal Engine 4 поддерживает множество эффектов для постобработки, далеко не все они могут вам пригодиться, но некоторые из них я перечислю:

Подведём итоги

Несмотря на кажущуюся сложность работы, редактор Unreal Editor 4 выглядит приветливым. А с ростом производительности компьютерного оборудования GPU рендер может изменить традиционный подход к работе визуализаторов, дизайнеров и архитекторов.
Из минусов хочу отметить пару моментов. На данный момент добиться фотореалистичной картинки не просто, но если уйти в проект с головой и потратить больше времени, то можно. Размер готового билда может превышать 1GB, что может затруднить обмен среди коллег и заказчиков. На текущее время далеко не каждый компьютер способен выдать стабильные 25-30 FPS в заполненном 100 м² интерьере.

Источник

UE F.A.Q.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Почему вы здесь такие токсичные? Я пришёл в чат получать ответы на свои вопросы, а не предложения пойти в гугл. Уууууъуъуъ.

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

Если ты уже прошерстил первые 2–3 страницы гугла и ничего не нашёл, удостоверься, что ты правильно гуглишь:

Посоветуйте с чего начать. Курсы, ссылки, вот это все.

Официальный обучающий контент с мини-курсами по разным тематикам : https://learn.unrealengine.com

Отличные курсы для старта с сайта Udemy, которые теперь доступны бесплатно. Начать изучать можно тут: https://learn.unrealengine.com/course/3750189?r=False&ts=637492315220882788

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Полезнейший канал WTF Is? в котором наглядно объясняются различные аспекты движка: https://www.youtube.com/c/MathewWadsteinTutorials/featured

Официальная документация движка, в которой можно найти ответы на многие свои вопросы. Не забывайте про нее.
https://docs.unrealengine.com/en-US/index.html

Освещение постоянно меняется, то светлеет, то темнеет.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Так работает автоэкспозиция. Отключить её совсем или настроить можно через постпроцесс. Для отключения выставьте минимальное и максимальное значение одинаковым в разделе экспозиции в настройках постпроцесса. Убедитесь, что вы попадаете в объем постпроцесса, либо что он бесконечный (галочка Unbound). Что-то еще узнать по этой теме можно прогуглив “auto exposure unreal engine”.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Объекты исчезают при отдалении камеры.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Импортирую меш, а он раздельными кусками в движке. Как импортировать одним мешем?

Самым лучшим решением будет объединить меш в любом 3D пакете, но, если такой возможности нет, то в окне импорта нужно поставить галочку Combine Meshes.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Импортирую меш, а пивот не там, где в 3д пакете.

Сбросьте позицию модели в 0.0.0. в 3D редакторе, чтобы ось координат и пивот совпадали, тогда он импортируется корректно.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Можно ли поменять пивот в движке?

Конечно проще и лучше сделать это изначально в 3D редакторе, но если вам этот способ не подходит, то можно делать так или так.

А что насчет целых сцен? Как импортировать разом сцену, сохраняя и пивоты объектов и позиции?

Импорт целых сцен разом — кейс нетривиальный. С дефолтными настройками импорта у вас сохранятся позиции на сцене, но пивотом у всех объектов станет 0.0.0 сцены.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Если при импорте убрать галочку Transform Vertex to Absolut, то у каждого объекта будут сохранены пивоты, но позиции на сцене не сохранятся.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Чтобы сохранить и позиции и пивоты объектов, можно импортировать сцену через File — Import Into Level. Пивоты объектов сохранятся, а сами объекты будут расставлены на уровне как в 3D пакете. Так же там есть опция импортировать сразу как отдельную сцену в блюпринт акторе.

Источник

Опыт создания трейлера на игровом движке Unreal Engine

Студия krem.productions поделилась опытом создания кинематографичного трейлера игры с помощью Unreal Engine 4.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Свой первый синематик на Unreal Engine 4 мы создали осенью 2018 года. Это был ролик для Steamcraft. Его сегодня можно увидеть на странице проекта в Steam.

Использовать для трейлера именно движок не было внезапным решением. К этому нас подтолкнуло два обстоятельства.

Первое — неидеальность традиционных инструментов, которые сегодня используются для создания синематиков. Наш привычный pipeline — это Blender, Cinema 4D и 3ds Max. Минус этой связки — очень долгий рендер. Альтернатива у этого решения есть — связка After Effects и плагина Element 3D. С ее помощью возможно гораздо быстрее готовить ролики. Но есть проблема. Пакет работает нестабильно. Поэтому мы постоянно находились в поиске новых решений. Мы хотели, чтобы ролики можно было делать и быстро, и удобно.

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

В итоге летом 2018-го я внимательно посмотрел несколько синематиков, сделанных на Unreal и Unity, и решил, что наша студия должна попробовать поработать с одним из движков.

Именно на Unreal Engine 4 мы остановились из-за удобных встроенных инструментов для создания синематиков, а также шикарного ролика Reflections Real-Time Ray Tracing Demo, который был показан еще прошлой весной.

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

Аниматик

Я пропущу такие этапы, как написание сценария и раскадровки, однако остановлюсь на следующем после них — подготовке аниматика.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

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

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Кадры из аниматика ролика

Подготовка моделей

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

Модели автомобилей готовили наши 3d-специалисты. Что касается меня, то я отвечал за локации. По задумке, их должно было быть четыре — пустыня, ночной лес, зимний лес и гараж.

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Редактор материалов Unreal Engine 4

Спустя всего пять минут я нашел пакет ландшафтов, в котором было все, что нужно. Оставалось только наполнить пустые локации объектами. И здесь мне помогла библиотека отсканированных объектов Quixel Scan.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Настройка освещения

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Импорт анимации

Мы решили, что часть анимации будем готовить в Maya и 3ds Max, а затем импортировать ее в Unreal. Мы знали, что всю анимацию надо делать на костях, тогда проблем не возникнет. Но не обошлось и без багов. К примеру, если в одной папке лежат две разные анимации с одной и той же машиной, то Unreal Engine выдает ошибки и ломает всю анимацию в целом. Лечится это импортом анимации в новую папку без каких-либо файлов.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Анимация камеры

Один из важнейших плюсов при работе над роликами в Unreal Engine — возможность управлять положением камеры с помощью стандартной WASD-раскладки. Не надо настраивать большое количество переменных, достаточно просто нажать на пару клавиш.

Плюс есть широкий функционал настройки. Сразу же можно сделать даже постобработку. С версии 4.20 разработчики ввели новый метод DoF — Circle DoF, который дает чудесные боке. Но опять же не без артефактов.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Анимация авто

Одним из самых сложных этапов оказалось создание анимации автомобиля. Нужно было сделать универсальный риг автомобиля внутри Unreal. Через пару дней наши 3d-аниматоры выдали классный и полностью рабочий результат.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Но, как только мы приступили к записи анимации, что-то пошло не так. Колеса отлетали, исчезали, появлялись, а иногда вместо колес вставали пушки. Мы потратили неделю на то, чтобы разобраться с этими багами. Единственное объяснение их появлению, которое мы нашли, звучало так:

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Финишная прямая

Поскольку за финальный результат отвечал я, пришлось взять на себя и цветовую коррекцию с монтажом. Для этих задач я использовал After Effects. Но это можно было сделать и в Unreal Engine. Все необходимые инструменты там есть.

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

Эпилог

Очень важный момент, за который я всем сердцем полюбил Unreal — итеративность. Когда ты в окне сразу видишь конечный результат, а рендер минутного ролика занимает 20-30 минут, то освобождается время на творчество и эксперименты.

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

Идея поменять привычный пайплайн с Blender, 3ds Max, Maya на Unreal Engine прямо перед началом проекта казалась сумасшедшей. Но у нас все получилось. Так что теперь для нас Unreal стал одни из инструментов для рендера роликов.

Источник

Видеопродакшен в Unreal Engine 4

Текст написан преимущественно для ребят из моушен-дизайн индустрии, чтобы рассказать им, что скрывается за быстрым рендером, можно ли использовать игровые движки в видеопайплайне и к чему нужно готовиться при работе с движком. Дядьки, что делают игры, по идее, все это и так знают 😉 Но повторить и систематизировать — всегда полезно. Статья будет состоять из трех разделов: сначала я познакомлю вас с возможностями движка, затем покажу варианты использования и, наконец, напомню о текущих ограничениях. Будет много видосиков и примеров.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Полная интерактивность

Выходите за рамки привычных видеоформатов и пайплайнов классических видеопродакшенов. Вы получаете практически полный контроль над картинкой в реальном времени: пользователь может выбирать сценарии происходящего на сцене, влиять на видеоряд, мгновенно заменять объекты в сцене, взаимодействовать с объектами. Это и возможности для архвиза, когда можно походить, потрогать, поменять фасоны, мебель и так далее. Это и форматы виртуальной и дополненной реальности, конечно же. То есть на выходе у вас будет не видеоролик, а полностью интерактивный продукт, который вы сможете запрограммировать как угодно. Для многого из этого не нужно знать C++ или другие сложные языки программирования. Все вполне делается на языке визуального программирования Blueprints. А это просто построение алгоритмов в виде блок-схем и соединение нужных нод. Вполне реально быстро выучить под свои задачи. А наличие шаблонов и ассетов на маркетплейсе делает эту задачу еще проще.

Красивая картинка

Совершенно внезапно прошли те времена, когда на рендер из игровых движков нельзя было взглянуть без слез. Сегодня Unreal Engine предлагает инструменты, с помощью которых можно добиваться достойного рендера, которого вполне может хватить за глаза под многие задачи. PBR материалы, глобальное освещение, партикловые системы, волюметрики — все это помогают делать красивую картинку. Epic Games настроена на развитие в направлении записи красивых рендеров — об этом говорят апдейты секвенсора, камер и релиз Unreal Studio. В отдельной статье я собираю красивые рендера на движке, хотите познакомиться с возможностями Unreal Engine — заглядывайте.

Скорость рендера

Основная причина, по которой моушен-дизайнеры и аниматоры открывают Unreal Engine — конечно же, скорость рендера. И здесь ему действительно есть, чем похвастаться. Да, если вам нужны стабильные 24 кадра в секунду на больших и сложных сценах, нужно будет приложить некоторые усилия для оптимизации. Но, зачастую, и без нее вполне хватает скоростей типа 2-6 секунд на кадр в разрешении 4К. То есть из достаточно высокой скорости рендера (по сравнению с нерилтаймовыми решениями) вытекают такие преимущества как большие разрешения и оперативность внесения правок. Ролики в 4К будут рендерится не сутками, а в пределах часа. Внезапные правки больше не потребуют лишних затрат на рендер-ферму.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Помимо этих трех пунктов ожидается внедрение Octane Render в Unreal Engine. Уже сейчас можно попробовать — бесплатная публичная бета доступна.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Новая технология RTX и поддержка DXR в Unreal Engine позволит еще больше повысить качество графики в игровых движках и как-то порешать что-то с рейтрейсингом.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

— Презентационные ролики, интро​

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

— Интерактив (VR, архвиз, студии)

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

— Ролики с большим количеством растительности и объектов

Большие ландшафты, трава, леса — можно быстро и удобно собирать на движке, а затем также быстро рендерить.

— Игровые и подобные им синематики

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

— Некоторые виды видеомаппинга и в общем-то все ролики, которые подходят под критерий: сжатые сроки, большие разрешения (до 8К)

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

— Броадкаст дизайн

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Огромное количество стекла, шурешек и отражений — для такого Unreal Engine пока не подходит. Далее поймете — почему.

— Ролики, где важны крутые честные отражения (пока что — нет)

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

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

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

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

— Видео со сложными визуальными эффектами

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

То, что делается в Houdini — пусть остается в Houdini 🙂
Переносить сложные физические явления и симуляции в игровые движки пока довольно сложно. Гораздо проще для видео отрендерить непосредственно в 3D редакторе.

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Сага о рейтрейсинге

Основное ограничение, на мой взгляд, в игровых движках (хотя по сути это то, что дает преимущетсво в виде быстрого рендера) — отсутствие рейтрейсинга (трассировки лучей) в привычном для нас понимании (привет, растеризация). Просчитывать огромное количество лучей — довольно непростая задача, требующая как времени, так и ресурсов компьютера. Поэтому в большинстве игровых движков для того, чтобы сохранять стабильный рендер 30-60 кадров в секунду используются различные ухищрения, чтобы каждый кадр не считать лучи. Фейкование методов рейтрейсинга приводит к проблемам с тенями, отражениями и глобальным освещением (Global Illumintation).

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Глобальное освещение — по сути, совокупность освещения прямого (свет, исходящий от источника света по прямой) и непрямого (отраженные отскоки света ото всех объектов в сцене).

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Даже если по качеству света нам достаточно всего одного-двух отраженных отскоков света — все равно это огромное количество лучей, которые надо рассчитать. Делать такое решениями из коробки на среднестатическом компьютере пользователя каждый кадр — ситуация, стремящаяся к невозможности. Поэтому в движке есть деление источников света на динамические и статические. Динамические считаются в рилтайме, могут двигаться и изменяться и поэтому используют только прямое освещение. Статические источники будут давать прямое и непрямое освещение с заданным количеством отскоков, но и просчитываться будут заранее (просчет может занимать часы для одной сцены), не изменяются по ходу игры и результат их просчета записывается в лайтмапы, которые потом накладывается в виде текстур тени на объекты (поэтому у объектов должна быть нормальная UV развертка под лайтмапы), которые тоже должны быть статическими и не двигаться, иначе они не будут участвовать в просчете отскоков непрямого освещения.

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

Идем дальше — отражать всю сцену в глянцевом объекте тоже дорого для производительности. Это опять пускать и считать кучу лучей. Поэтому мы используем инструменты для запекания всех статичных объектов сцены в отражение, а для динамичных используем SSR (Screen Space Reflections) — что вижу на экране в данный момент, то и отражается. То есть пока отражающий и движущийся объект в поле вашего зрения — с отражением вроде все ок. Но стоит движущемуся объекту уйти из поля зрения вашей камеры — он тут же пропадает и из отражения первого объекта, что порождает кучу визуальных артефактов. При желании можно накостылить камеру в объект и проецировать результат из нее на отражения, но это тоже не панацея (для плоских объектов есть еще Planar Reflection).

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Ну и тени. Для теней, получаемых непрямым освещением все понятно. А вот от динамических источников тени довольно примитивны. Например, размыть их еще как-то можно, а получить что-то такое — уже нет:

Рендер авто в unreal engine. Смотреть фото Рендер авто в unreal engine. Смотреть картинку Рендер авто в unreal engine. Картинка про Рендер авто в unreal engine. Фото Рендер авто в unreal engine

Разбавлю все же эти переживания двумя небольшими ложками меда:

— существуют кастомные сборки движка с технологией nVidia VXGI — воксельное динамическое глобальное освещение. Да, fps падает до неиграбльного (но кого это интересует, когда мы тут за видео говорим), но мы получаем просчет непрямого освещения в реальном времени для всех объектов (хотя с отражениями по прежнему не все так гладко).

— и введение DXR в движок из коробки (соответственно и поддержки nVidia RTX), что пока работает мальца криво-глючно (на версии 4.23), но в перспективе даст нам практически рейтрейсинг в реальном времени с блекджеком, динамическим глобальным освещением и отражениями.

Материалы

Исходя из вышесказанного, имеем проблемы с материалами. Это довольно примитивное стекло\вода, которое очень трудно сделать красивым и реалистичным. Это проблемы с отражениями на материалах — либо комбинация SSR и статических отражений, либо всевозможные костыли для полностью динамических отражений. Это и очень простое SSS (подповерхностное рассеивание) с минимумом настроек и возможностей. Да, очень круто иметь такое в играх, но мы сейчас говорим о видеопродакшене, планки которого ускакали далеко вперед.

Сложные анимации, физика

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

Ну и всякие мелочи

Ограничения в выводе видео в 8К из коробки. Да, рендернуть маппинг в 16К за раз не выйдет. Хотя я встречал на CG Эвенте парня, который выводил графику с большими разрешениями из UE, но для этого вам явно понадобятся прямые руки и как минимум один кодер в команде, который будет кастомайзить движок.

Ну и как не упомянуть про ужасные пассы и неудобный вывод альфы. То есть по факту это все конечно есть, но очень сильно отличается от того, к чему вы привыкли в 3D пакетах.

Резюмируя

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *