Выделение контура у объекта в UE4. Создание глубины резкости. Оригинальные UV и результаты

Тени дают объектам ощущения контакта с поверхностью, тем самым позволяя ощутить глубину и пространство.Статические тени отображаются настолько далеко, насколько идёт рендеринг, но динамические тени могут сильнее сказатся на производительности.Данный документ покажет базовые виды теней которые есть в Unreal Engine 4.

Static Lights

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

Персонаж на картинке выше, тот что слева, стоит под статическим светом, свет и тени никак не взаимодействуют с ним; а тот что справа, стоит под стационарным источником света.

Прямое освещение каскадными картами теней(затенение всей сцены)

Directional Stationary Lights — специальные источники света, т.к. они поддерживают затенение всей сцены посредством Cascaded Shadow Maps , в момент использования статического затенения.Это очень удобно на уровнях с множеством анимированной растительности; вы хотите движущиеся тени вокруг игрока, но не хотите переплачивать за чрезмерное количество каскадов, для покрытия больших дистанций обзора.С увеличением расстояния, динамические тени растворяются среди статических теней настолько, что переход практически незаметен.Чтобы применить данную возможность, просто измените значение Dynamic Shadow Distance StationaryLight в DirectionalLightStationary , чтобы изменить дистанцию растворения.

Тени Стационарных источников света

Динамические объекты (такие как StaticMeshComponents и SkeletalMeshComponents с подвижностью установленной в Movable ) должны быть интегрированны в мировое статическое затенение на дистанции полей карт затенения.Это достигается с помощью теней для каждого объекта.Каждый подвижный объект создаёт 2 динамические тени от стационарного источника света: одну, для управления статической тени проецируемой на объект и вторую, для управления тени проецируемую на остальной мир.С такой настройкой, затенение для стационарных источников света происходит от динамических объектов,которое оно затрагивает.Это означает, что стоимость может варьироваться от очень маленькой, до огромной, в зависимости от того, сколько присутствует динамических объектов.При наличии достаточного количества динамических объектов, более эффективным будет использование Movable освещения. На сцене ниже, сферы — подвижный объект, и все они получают тени от статического мира и проецируют собственные тени, которые соединяются с остальными тенями на отдалении.Фруструм Per Object теней для каждого подвижного объекта также показан.

Per Object тени используются для подвижных компонентов используя теневую карту границ объекта, поэтому границы должны быть точными. Для скелетал мешей это значит, что они должны иметь physics asset . Для частиц — любой фиксированный ограничивающий бокс должен быть настолько велик, чтобы вместить в себя все частицы.

Динамические тени

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

Динамические тени самые ресурсоёмкие.

Превью теней

Когда редактируете стационарное или статическое освещение, тени могут стать «незапечёнными», Preview Shadowing показывает вам как будут выглядеть ваши тени после запекания.

Такие (имеется ввиду незапечённые) тени показываются в редакторе с наложенным поверх текстом «Preview «, для распознавания их среди других теней.

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

Для того, чтобы получить тени из превью теней, вам необходимо выбрать опцию Build Lighting из меню Build .

Вы можете отключить превью теней посредством снятия галочки с Preview Shadows Indicator во вьюпорте Show/Visualize меню.

Если вы хотите изменить текст материал функции освещения, которая проецирует этот текст, то вы можете его найти в: Engine/EditorMaterials/PreviewShadowIndicator.

Всё вместе

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

Имитирует небесное освещение путем захватывания панорамного изображения (так же именуемое как Cubemap ) дальних частей сцены (которые дальше параметра SkyDistanceThreshold ), и применения его в качестве освещения. Это значит, что освещение от будет схож с окружением сцены. В том числе будет захватывать и побочные объекты, вроде наложенных облаков на скайбокс или гор вокруг сцены. Вы так же можете вручную установить Cubemap’у, которая будет освещать пространство.

Изображение будет изменено только тогда, когда вы перепросчитываете освещение или обновляете сцену при помощи команды Build -> Update Reflection Captures . Вы также можете обновить SkyLight при помощи кнопки Recapture Scene в параметрах . Учтите, что если вы измените текстуру неба или окружение, дальше параметра SkyDistanceThreshold, освещение не изменится автоматически.

Можно использовать вместо Ambient Cubemap , потому что Sky Light поддерживает локальное затенение, которое препятствует освещению внутренних помещений от небесного освещения.

Бывает двух типов в зависимости от подвижности:

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

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

Однако, использования одних лишь кубмап отражений на очень шероховатых поверхностях приводит к чрезмерно ярким отражениям, что имеет значительные утечки из-за отсутствия локальной окклюзии.Это решается за счёт использования данных лайтмапы созданной посредством Lightmass .Отражения кубмап смешиваются вместе с лайтмапой непрямой зеркальности основанной на шероховатости материала.Очень шероховатый материал (полностью диффузный) будет сходится с результатом лайтмапы.Такое смешивание, по факту, является комбинированием частей данных об освещении — высокодетализированной (кубмапы) и низкочастотной (лайтмапы).Для того, чтобы это работало корректно, в лайтмапе может быть лишь непрямоей освещение.Это означает, что только рассеянное освещение от стационарных источников света может улучшить качество отражений на шероховатой поверхности.Статический тип освещения не может быть использован вместе с отражениями окружающей среды, так как он даст прямое освещение на лайтмапу. Учтите, что для того чтобы увидеть результат этого смешивания, лайтмапа должна быть хотя бы раз построена,и карта должна иметь значимое непрямое диффузное освещение.

Формы захвата отражений

На данный момент существует 2 формы захвата отражений: сфера и коробка.Форма захвата очень важна, так как она контролирует, какая часть сцены будет захвачена в кубмапу,как форма сцены будет перепроецирована в отражениях, и кака часть сцены сможет получать отражения из кубмапы (зоны влияния).

Форма сферы

Форма сферы наиболее используемая.Она никогда не совпадает с формой отражаемой геометрии, но она не имеет разрывов и углов, следовательно искажение равномерное.

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

Точки захвата с меньшим радиусом перезаписывают данные больших по размеру точек захвата.

Форма коробки

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

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

Редактирование

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

Режим отображения Reflection Override был добавлен, чтобы легче было увидеть, как настроены отражения.Этот режим перекрывает все нормали сглаживая варшины нормалей, и делает все поверхности полностью зеркальными и полнстью гладкими (как зеркало).В этот режиме хорошо видны ограничения и артефакты, поэтому стоит иногда переключатся в этот режим, чтобы видеть как ведут себя отражения нормальных условиях.

Были добавлены несколько новых полезных флажков для изоляции некоторых компонентов освещения:

Настройка уровня для использования отражений окрущающей среды


Вопросы производительности

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

Ограничения

  • Отражения с помощью этого метода, являются приблизительными.В частности, отражение объекта редко совпадает с фактической формой объекта в сцене из-за проекции его на простые формы.Это приводит к созданию нескольких видов этого объекта в отражениях, так как много кубмап смешивается вместе.Плоские, гладкие поверхности, которые дають зеркальные отражения, более заметно покажут ошибки.Используйте детальные карты нормалей и отражений, чтобы разбить отражения.
  • Захват сцены в кубмапы — медленный процесс, который должен быть выполнен вне игры.Это значит, что динамические объекты не могут быть отображены в отражениях, но тем не меннее, они могут получать отражения от статической сцены.
  • Для уменьшения ошибки, захватывается лишь диффуз сцены.Чисто зеркальные поверхности (металлы) будут иметь своё зеркальное применение, как будто бы если это было их диффузом во время захвата.
  • Затенение

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

    В категории «Transform » в настройках любого источника света вы можете найти параметр «Mobility » («Подвижность»). Измените его на «Movable » («Подвижный»). Это свойство влияет также на источники света, добавленные в блупринт.

Epic Games продемонстрирует архитекторам возможности Unreal Engine

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

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

Epic Games планирует провести четыре бесплатных вебинара, первый из которых намечен на 27 апреля. Специальным гостем станет архитектор Фабрис Боррелли (Fabrice Bourrelly), который расскажет о причинах, по которым Unreal Engine стоит использовать в данной сфере. .

Используя модели Дома из стекла Филиппа Джонсона (Philip Johnson) и Церкви света Тадао Андо (Tadao Ando), Фабрис покажет, как Unreal Engine привносит эмоции, настроение и атмосферу рендеринга в автономном режиме в глубокую и интерактивную виртуальную и дополненную реальность в режиме реального времени, - сказал представитель сообщества движка Крис Руффо (Chris Ruffo). - Фабрис является архитектором, художником и 3D-визуализатором, который за последний год стал лидирующим пользователем и учителем по Unreal Engine. В список клиентов Фабриса входят Google, IDEO, Томас Хизервик (Thomas Heatherwick), Аниш Капур (Anish Kapoor), Bentley Motors и Филипп Старк (Philippe Starck).


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

Фабрис Боррелли:

«Я начал с простого коридора, освещённого снаружи, и одного материала. Это позволило мне почувствовать, как один материал будет вести себя с отражениями и освещением. Я научился создавать мягкое освещение с помощью Lightmass, что является критичным для построения реалистичной архитектурной визуализации».

Архитектор загружает свои работы на канал в YouTube .

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

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

Это интерактивная трехмерная визуализация квартиры-студии с полным погружением в проект. Модель сделана полностью в программе Unreal Engine 4 - движок, который используют во многих современных играх.

Основное различие с максовской 3д моделью - время "рендера". Например, чтобы создать классический трехмерный ролик необходимо отрендерить 25 кадров для каждой секунды, что занимает очень много времени и денег.

А в таком интерактивном формате "рендер" отсутствует. Все текстуры, материалы и свет создаются сразу в 3d модели, поэтому по проекту сразу можно ходить как в игре, при этом графика дошла до вполне реалистичного уровня. Теперь, чтобы сделать видео ролик, достаточно 1 часа, при готовой модели в Unreal Engine.

Создано: 29 Апрель 2017

Есть несколько контролей свечения. Например, если вы хотите изменить яркость света (Brightness ), можно ввести новое число вместо " 1,000000 ". Или, держите мышь между двумя черными стрелками справа. Нажмите и перетащите мышь вверх или вниз, и вы измените яркость динамично.


Рядом с полем LightColor (цвет света), вы можете нажать на увеличительное стекло, чтобы открыть цветовую палитру, также Вы можете развернуть эту вкладку LightColor , открыв настройку цвета в RGB . Вы также можете нажать на иконку курсора мыши для получения цвета, который вы можете выбрать мышью, где-нибудь на карте. Попробуйте оба способа сейчас.

Вот список самых важных свойств. Не забудьте попробовать каждый из них по своему усмотрению.


Brightness (яркость) – все достаточно очевидно.
FalloffExponent - резкость света или спад в рамках своего радиуса. Переместите свет близко к стене, и побалуйтесь с этим значением, и вы увидите, как это работает.
LightColor - цвет света.
Radius - область света.
Другие свойства, лучше всего оставить без изменения, но мы обсудим некоторые из них позже.
Сделаем свет оранжевого цвета, с достаточно высокой яркостью и большого радиуса, чтобы заполнить комнату. Обязательно "перепостройте (отребилдите)" (Build Light ) освещение, чтобы окончательно сформировать свет.


4) SportLight

Размещение Spotlight немного сложнее, чем размещение точечного света – можно найти его в Actor ’ах Generic ’a. Откройте браузер (Generic ) и перейдите на вкладку Actor Classes . Откройте "Light ", и выберите Sport Light . (Вы увидите две подкатегории, SpotLightMovable и SpotLightToggleable . Они в основном используются в анимации или подключаются к геймплею, так что не будем трогать их сейчас.)
Щелкните правой кнопкой мыши в вашей сцене, и выберите ункт "Add SpotLight here ". Вы увидите прожектор белого цвета, указывающий вниз. Переместите его так, чтоб он видимо бросал круг света куда-нибудь.

Sport Light имеют все те же свойства (цвет, яркость, радиус, спад), однако они имеют несколько дополнительных свойств. Убедитесь, что выбран прожектор и откройте его свойства. Найдите два новых свойства.


OuterConeAngle - внешний угол конуса (углы здесь от оси конуса до образующей, от 0 до 90 градусов).
InnerConeAngle - контроль Hotspot в середине конуса. Если 0, то будет «мягкий» свет. Если это же радиус, равен OuterConeAngle , прожектор будет иметь яркий круг света. (Побалуйтесь с этим значением, и вы увидите, как это работает)


Вы можете вращать прожектор с использованием стандартного инструмента ротации в редакторе. Также Вы можете контролировать его в режиме от «первого лица» (нажав на кнопку " Lock Selected Actors To The Camera " в верхней части окна просмотра перспективы.


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

5) DirectionalLight

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

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

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

При «перепостроении» света, тени могут выглядеть так:

Такая тень смотрится не очень хорошо, но ее видно с большого расстояния.


Но если поставить галку напортив bForceDynamicLight в настройках света и bCastDynamicShadows в настройках нужного объекта, то после «перепостроения» света, тень будет четкая:

Но эта тень будет пропадать по мере Вашего отдаления от объектов (Вы можете заметить, что тень от разных объектов исчезает на разных расстояниях). Но такие тени как на Epic’овских картах достигаются не этими параметрами. Они их делали вручную.
Если Вам не нужны тени, то отключите " CastShadows " на нужном вам объекте, от которого не должна идти тень или на нужном источнике света, если не хотите чтобы тени вообще были от этого света.

6) Sky Light

Этот свет освещает все и везде, не создавая теней (из-за этого минимальное падение FPS ), поэтому его лучше использовать на открытых уровнях или для того, чтобы на уровне не было темных мест.
Давайте добавим его (найти его можно в Generic ’е, в Light ’ах).

Сразу же на уровне становится намного ярче (за исключением потолка, который является неизменным.) Освещаются поверхности «сверху», поэтому пол получает много света, стены среднее количество света, а потолок остается не освещенным. Здесь две настройки (что они делают описать сложно).

LowerBrightness - яркость (микс цветов, что-то в этом роде, вообще Hz что это) (по умолчанию 0) LowerColor - цвет (вторичный цвет для менее освещаемых участков, стен и, особенно, потолка).

Отрегулировав свойства SkyLight , получаем цвет снизу ярко красный, а цвет сверху ярко голубой (с достаточно яркой LowerBrightness , это видно.) Заметно, как красный и синий цвета объединились и сделали стену фиолетового цвета. Это должно быть очевидно, если удалить PointLight .

И последнее - иконка для SkyLight очень мала, и, вероятнее всего, Вы потеряете ее в большом уровне. В свойствах, в Display категории, измените DrawScale на 10 .

7) Размещено все вместе


Давайте посмотрим, как различные Light объекты используются в сцене.
Откроем (Unreal Tournament 2007\UTGame\CookedPC\Private\Maps\ DM-RisingSun.ut3 ), так вы можете увидеть, как Epic использовала эти виды света в практических условиях.
Загрузите карту, и Вы увидите что-то вроде этого:

Посмотрите вокруг. Вы знаете какой свет что освещает? Есть куча PointLight и SportLight рядом светильники и светящиеся двери. Но, что освещает в деятельности скалы на заднем плане? Давайте выясним.
Нажмите на кнопку " ;Toggle Show Flags " кнопку, и включите " Light Influences ". Выберите скалы, и вы увидите две синих линии выходящих из них.

Линии приведут к двум DirectionalLight на сцене.

Вы увидите, что оба DirectionalLight направлены в противоположные стороны. И если Вы загляните в свойства, Вы увидите, что они делают на сцене. Один яркостью (Brightness ) 2.5 и испускает желтый цвет - он действует, как солнце. Другой яркостью 0.25 и испускает бледно синий цвет – свет как от неба. Если вы удалили все (для этого щелкните правой кнопкой мышы на каком-нибудь источнике света и выберите Select All Lights ), за исключением этих двух источников света, пространство, все равно, будет выглядеть неплохо, за исключением пары десятков объектов, которые специально подсвечивались другими источниками света.

8) Поиск

Вы можете выбрать источники света в 2D или 3D окнах проекции, чтобы выяснить, что они делают, но давайте посмотрим инструмент - "Search for actors ". Вы можете открыть его, нажав на иконку бинокля в верхней части окна - сделайте это сейчас .

Search for Actors открывает окно со списком всего, что есть на карте. Но мы просто хотим посмотреть на свет. Нажмите на "Containing ", а затем в разделе "Search For ", введите " ligh t ". В нижней части дисплея выводится количество найденных объектов, например "11 objects found ".

Итак, что мы имеем? Несколько directional lights , directional lights , и spotlights . Уведомление skylight . Если вы дважды щелкните на свет в списке, который используется на сцене, то камера перейдет к этому источнику света.
Потратьте несколько минут и посмотреть свойства каждого источника и выясните, роль каждого из них на сцене.



9) PostProcess volume


Влияет на внешний вид и освещения на уровне. PostProcess Volume находится вокруг всей сцены. Если отдалить камеру в 3D окне, Вы заметите тонкие изменения цвета на арене. PostProcess volume контролирует яркость, и кучу других последствий до тех пор, пока камера находится внутри него.
Выберите PostProcess volume и откройте его свойства. (Он выглядит, как пурпурное поле в 2D проекции, или же вы можете найти его через Search for Actors .)

Введение

Меня зовут Лассе Роде, и я представитель студии xoio. Мы небольшое агентство, специализирующееся на визуализации и иллюстрации работ по архитектуре и маркетингу.Обычно мы работаем в своего рода «традиционной» 3d среде с использованием приложений, таких как 3ds Max и подобным. Мы постоянно тестируем новые «движки» рендеринга и в настоящее время отдаем предпочтение Corona Renderer, V-Ray и Octane. Каждый «движок» имеет свои сильные стороны и мы всегда стараемся использовать каждый для своих целей.По моему мнению есть несколько основных направлений в нашей отрасли: стремление к фото реализму и быстрому результату – если речь не о режиме реального времени. Не ждать когда результат будет готов на рендер-ферме всегда было мечтой для нас — особенно при создании анимации!Основным недостатком «реального времени» долгое время было недостаточное качество по сравнению «pre-rendered» изображениями и анимацией. Так что, хотя это выглядело очень интересно, ее применение в контексте визуализации, казалось, трудно себе представить, — и, честно говоря, выглядящее «игровым» было трудно продать требовательным клиентам из архитектурных и корпоративных областей.Но все резко изменилось. Результаты созданные в «движках реального времени» сегодня очень красивы и убедительны!

Почему Unreal Engine?

В релизe UE4 было уделено очень много внимания в нашей индустрии и возможности казались безграничными. PBR (Физический рендеринг) система материалов и простая последовательность действий для создания модели в Unreal Engine было наиболее веской причиной для нас, чтобы попробовать –ведь это возможность получить дополнительное качество! Если вы видели работу Koola (также доступен для скачивания в Unreal Engine Marketplace), которыая стала «виральной» несколько недель назад — вы, вероятно, также убедитесь, как и мы, что Unreal Engine 4 способен на впечатляющее качество.В этой статье я хочу дать вам краткую информацию о рабочем процессе, для создания сцены в Берлинской Квартирe,которую вы можете загрузить с Marketplace (фирменный магазин Unreal) и увидеть некоторые методы и приемы на которые я наткнулся во время работы над данной сценой. Некоторые из них я нашел самостоятельно, в то время как другие являются производными от информации, которую я нашел в Интернете. В Unreal Engine форумы и документация являются обширными и объемными ресурсами, как и основной контент, который поставляется с «движком» и наборами сцен, которые вы можете получить из Marketplace.

Берлинская квартира

Я создавал серию изображений этой квартиры в историческом здании в Берлине начиная с 2013 года с помощью 3ds Max с Corona Renderer. Это гибкий способ обработки цветового отображения, которое действительно помогло раскрыть светлое настроение этой сцены. Также это было причиной выбора для тестирования UE4.Я заметил, что UE4 весьма успешно используется в сценах с мрачным освещением и шумными текстурами. Я подозревал, что это будет не так просто получить точную тень и GI (Global Illumination) в ультра белом интерьере.И, честно говоря: Это непростая задача!

Рис 1.

Выше – оригинальный рендер сделанный в 3ds Max и Corona Renderer. Для того, чтобы увидеть остальные изображения, нажмите .

Ниже видео готовой сцены

Начну с начала:

Оригинальная Сцена Моделирование было сделано в 3dsmax в спешке. Так что я на самом деле подробно остановлюсь только на тех частях, которые отражены в финальных изображениях. Этот подход, конечно, не возможен в средах реального времени. Для изменения назначения цели при использовании в Unreal Engine мне пришлось немного сократить масштабы, потому что меблировки и детализации всего пространства заняло бы слишком много времени для тестирования.


Рис 2

Я решил экспортировать только две комнаты: их вы видите на нижней части скриншоте выше.

Экспорт геометрии для Unreal Engine -это очень непростая задача, ЕСЛИ у вас несколько идей!Есть смысл разделить эти идеи на части. Потому Lightmass рассчитывается в отдельной карте для каждого объекта, это хорошо, чтобы быть немного осторожным с высокими значениями особенно на больших плоских объектах, таких как стены и потолок. Из-за этого я только экспортировал внутренние поверхности стен, которые мы на самом деле видим.Я также добавил немного к верхней и нижней части стен, чтобы пересечь их позже с потолком. Я думаю, что это хороший способ для предотвращения «световых протечек» — световые артефакты, проявляющиеся когда геометрия не закрыта или не пересекается. Это не проблема, когда это мрачная сцена с задействием большого количества текстур — но, так как мы хотим получить сверх-белое пространство,то важно создать точное GI (глобальное освещени), какое только возможно, особенно в углах.


Рис.3

Вторая важнейшая вещь — создать развертку скоординированную для канала GI, которая будет сохранена для просчета lightmass в UE. В 3ds Max это будет UV-канал 2.Канал 1 предназначен для использования всех других текстур, таких как диффузия, шероховатость, нормалей, и т.д. Unreal Engine рассчитывает каналы, начиная с 0, что может вызвать некоторую путаницу в начале — но как только вы это усвоите, то поймете,что это просто.Примечание: Сделать развертку важно только для канала карты света (light-map)! Для канала текстуры любой вид отображения может работать, например, кубический или цилиндрический. В большинстве случаев операция flatten mapping в 3ds Max модификатора Unwrap (получение развертки где порог, градус разворачивания можно задать) достаточно для получения UV координат.


Рис 4

Если вы хотите получить все объекты в сцене в UE4 как это было в вашей макс-сцене, то необходимо модготвоить модели, чтобы вставлять их на места где они были при экспорте. Для одиночных объектов, таких как стулья, удобно экспортировать в Unreal Engine один раз и копировать уже внутри. Для этого нужно подвинуть объекты ближе к центру в вашей 3ds Max сцене, потому что центр объекта (pivot) в UE будет там же.

Рис 5


Рис 6

Вы видите, я использую высокополигональную геометрию без LOD (уровень детализации) упрощения. Это, конечно, рекомендуется только в небольших сценах, таких как эта, но так как у меня есть опыт сглаживаня геомтерия, и я не хочу чтобы были какие-либо неровные края на моей мебели, то для меня это логично. Хотя я не сомневаюсь,что комната требует оптимизации;).Убедитесь, что ваша геомтрия будут объединены в один объект и элементы имеют различные каждый свой ID материал для обработки различных материалов позднее в UE4!Ну что же,сохраняйте геометрию в разрешении.fbx и переходите в редактор Unreal Engine! Импорт в Unreal Engine 4 Импорт FBX файлы в Unreal Engine 4 работает довольно гладко! Я делал это в несколько этапов.Я подготовил различные файлы, в таком порядке: — Геометрия комнаты в отдельном файле FBX. — Различные файл для моделей, каждый с несколькими объектами в них.Убедитесь, что сняли флажок Combine Meshes (Комбинировать геомтрию) для полученя ваших объектов раздельно и не объединые в один объект!

Рис 7

Материалы

Я весьма прямолинеен и большой поклонник простых установок! Так что пример шейдеров очень прост, состоит из карты диффузности, ненасыщен и смешан с черным цветом. Та же карта корректируется по цвету и инвертируется в канале roughness (шероховатости). Готово.


Рис 8

Normal map была бы здесь излишне, но не ограничивайте себя в исследовании материалов в сцене.


Рис 9

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


Рис 10

Вы должны установить Shading Model в «Subsurface» и добавить постоянную ноду со значением меньше, чем 1 и связать с свойством непрозрачности вашего материала, чтобы получить этот эффект.К стакану на переднем плане применен очень простой материал стекла:


Рис 11

Он имеет довольно темный цвет диффузии, нулевой roughness и высокое значение зеркальности. Я также применил Fresnel (эффект френеля-коэффициент преломления) ноду со значением 1,5 для контроля непрозрачности и преломления как в реале. Есть много более сложных способов получения более реалистичного стекла, — но я, честно говоря испытывал некоторые проблемы, чтобы получить контроль над параметрами, так что это простое стекло, кажется, достаточно хорошо получилось.Примечание: я выбрал Two Sided (Двустороний материал) и установил режим полупрозрачности освещениея «TLM Surface» на вкладке Details tab в панели слева.


Рис 12

Материал, который я хочу показать это материал который прменялся к полу, хочу показать потому что это единственный материал, к которому применен normal map


Рис 13

Здесь вы видите материал, с диффузным цветом, шероховатой текстурой и нормальной картой. Цвет светло-серый, со созначением 4Шероховатость выглядит немного сложнее: Слева вы видите ту же карту увеличенную в три раза отличную с TexCoord нодой. Красный канал умножается на другие, а затем подсоединяется как альфа в интерполяции ноды Linear (Lerp), чтобы смешать их значения. 0,3 и 0,2 в этом примере, получаем тонкое шумное отражение на полу досок. Затем дорабатываем с «Power» нодой, чтобы получить нужное количество шероховатости, и этот материал тоже вышел неплохо.Normal опять воздействием TexCoord, а затем развернута через «FlattenNormal» ноду, чтобы получить только тонкий рельеф на материале. Подготовка моделей Перед добавления объектов в вашу сцену, всегда лучше лучше раскидать материалы по геомтерии. Вы должны сделать это только один раз, и сможете применять различные материалы. Это быстрый процесс: Здесь вы видите, как важно применять различные ID материала для ваших объектов, чтобы расположить различные материалы там, где они и должны быть!


Рис 14

Построение сценыЕсли вкратце — импортируйте все вместе. Во-первых, вы должны перетянуть в комнату геометрию. Лучший способ, собрать сцену– перетащить и бросить (drag & drop) в пустую сцену.


Рис 15

Здесь не видино полигоны наружной части стен — как я объяснил выше: они только односторонние для лучшего Lightmass расчета.В таких случаях хорошо бы установить Lightmap (получаемая разверткой) разрешение для ваших больших объектов с высоким значением, для стен, например, я поставил значение 2048.

Рис 16

Как упоминалось выше, «световая протечка» может быть проблемой. Чтобы предотвратить это, я положил черные ящики вокруг всей сцены. Это выглядит немного неряшливо снаружи,но зато внутри чисто;)


Рис 17

Освещение и его параметры

Настройки освещения также довольно таки просты: я использовал «метод Koola» — сочетание солнца и пятен света в передней части окна, чтобы имитировать поток света. Это весьма эффективно и просто в управлении! Теперь для расчета глобального освещения важны только несколько настроек

Рис 18

Я существенно увеличил освещение отраженных лучей и качество освещения. Я также снизил сглаживание до 0,6. Детали очерчены лучше и тени не «стираются» так сильно.Также я настроил прямое освещение в динамической тени для получения лучших теней. Это также важно для движения света позднее в анимации!

Рис 19

Последним шагом перед нажатием «Создать» будет установка Качество Освещения (Lighting Quality) на «Производительность» (“Production”)

Рис 20

Это должно привести к сглаживанию освещения повсюду!Вообще-то,когда добрался до этого пункта в первый раз, я был в восторге! Это на самом деле сильная часть этого движка: приводить вас восторг! Будучи в состоянии двигаться внутри моего «рендера» в режиме реального времени был действительно радостный момент! Постобработка Одной из самых больших особенностей является возможность применения цветокоррекции и эффектов камеры прямо в редакторе. Это может быть сделано с PostProcessVolume в глобальных настройках. Я сделал несколько настроек по насыщению, окантовке и виньетированию, цветность и отключил автоэкспозицию путем установки минимального и максимального значения до 1 и увеличил общую яркость, установив компенсацию экспозиции в районе 1,42. Также добавил блик, который я нахожу удивительным,т.к всё происходит в режиме реального времени!


Рис 21

Настройка анимации Возможность свободно перемещаться внутри сцены делает анимацию очень легкой и приятной задачей из-за мгновенной обратной связи среды реального времени. Как частому пользователю программного обеспечения для композа, мне потребовалось не так много времени,чтобы приспособиться к интегрированным инструментам и настроить анимацию.Первое, что нужно сделать, это создание Matinee Actor (инстуметарий для создания последовательности видео)

Рис 22

При открытии Matinee вы увидите окно с секцией отслеживания и редактор кривых.


Рис 23

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


Рис 24

Вы можете видеть траекторию камеры только в редакторе и контролировать редактирование на лету!После того, как примерная анимация сделано в Matinee, я экспортирую анимацию как.AVI и доработавыю её в Premiere и подгоняю под музыку.

Заключение

Весь процесс, начиная от экспорта из 3ds Max и импорта в Unreal Engine 4, работа с тенью и освещением, создание анимации, а затем размещением на YouTube заняло у меня около суток. Эта скорость неслыханное в ArchVIZ и отражает ключевой потенциал, который лежит в основе использования Unreal Engine 4 для визуализации работ.Отсутствие визуализации на этапе «производства» изображений действительно делает процесс создания очень гибким и свободным. Быстрая рузельтат наших действий-настоящая революция!Мы постоянно тестируем и думаем о возможностях применения этого вида создания и технологического процесса в нашей повседневной работе.Есть много возможных применений, и мы очень хотели бы изучить их! Лассе, xoio


Вы можете импортировать текстуры с помощью кнопки «Импорт» в контент браузере. Unreal 4 поддерживает большое разнообразие форматов текстур: от.tgas и.png до.psds и.jpg. Один важный совет - убедитесь, что normal maps сжаты как TC Normalmap, чтобы избежать визуальных ошибок в движке. Также имейте в виду, если разрешение вашей текстуры не кратно двум (например 1024х349), они не запустятся или будут лишены свойств MipMap.

  1. Сохранение памяти: текстуры Channel-pack

Одна из особенностей Unreal - это большой объем контроля, который вы получаете, создавая свои собственные материалы. Когда вы создаете несколько черно-белых масок для текстур, таких как roughness или transmission, вы можете сэкономить память, спрятав каждую маску в отдельный канал R,G или B, а затем получив доступ к каждому каналу этой текстуры отдельно.

  1. Физически корректный рендеринг

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

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

  1. Повторное использование текстуры

Еще одним удивительным элементом Unreal 4’s Material Editor является то, что он позволяет повторное использование текстуры. Это поможет вам не только сохранить память, но и сэкономить время. Иногда red channel из rock albedo texture можно использовать как черно белую маску для roughness. Текстуру черепицы из Photoshop можно легко наложить на кирпич, а также смешать с другой текстурой для наложения на другие элементы.

  1. Не накладывайте ненужных текстур

Иногда определенные текстуры не нужны. Для 100% неметаллических материалов, таких как древесина или грязь, текстура металла может быть заменена в Material Editor простой константой с плавающей точкой и значением 0. Этот же принцип можно применить для нескольких версий одного и того же материала. Вам не нужны отдельные normal maps, например, для трех разновидностей кирпича, отличающихся по цвету. Можно использовать одну normal map для всех.

  1. Создание набора основных материалов

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

  1. Повторное использование материала

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

  1. Комментарии и организация материалов

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

  1. Функции материалов

Функции материалов можно вызвать несколько раз для выполнения определенного набора инструкций. Они создаются вне материала в Content Browser, но затем могут быть вызваны, чтобы упростить их. Они могут содержать свой собственный inputs и могут стать отличным способом сэкономить время, когда нужно вызвать несколько повторяющихся операций.

  1. Материалы листьев

Листва может быть одной из самых сложных вещей, т.к. совсем не просто обеспечить ее правильное отображение в любом игровом движке. В UE4 версии 4.18 существует Foliage Shading Model, которая упрощает эту задачу. Я настоятельно вам ее рекомендую, поскольку она поддерживает передачу подповерхностного слоя, что в большинстве случаев дает преимущества. Кроме того, советую добавить sky light к вашей сцене, чтобы помочь сбалансировать некоторые более темные области сетки листвы, которые могут быть в тени.

  1. Vertex colour

Доступ к цветам Vertex в материалах - одна из моих любимых функций в Unreal 4. Они могут быть невероятно мощными при творческом подходе. От ambient occlusion до masking out wind и world offset для листвы - их универсальность колоссальна. Они особенно полезны при смешивании текстур. Vertex colors можно импортировать из внешнего программного обеспечения 3D или импортировать и нарисовать в редакторе.

  1. Детализированные diffuse и normal

Так как вы можете настроить параметры текстурирования ультрафиолетового излучения, вы можете увеличить детали материала путем смешивания в дополнительном наборе текстур. Обычно это diffuse или normal maps, которые затем поочередно накладываются поверх базовых. Вы можете использовать любой удобный для вас метод, например, такой как Overlay Blend Function, в то время как подробные normal maps могут быть применены путем добавления красного и зеленого каналов к основанию.

  1. Смешивание текстур в материалах

Хотите объединить текстуры в material editor, но знакомы только с режимами смешивания Photoshop? Epic превзошел все ваши ожидания. Наряду со многими полезными функциями материалов он включает в себя большинство режимов смешивания, с которыми знакомы все пользователи Photoshop. От Overlay до Linear Dodge их можно найти в окне палитры внутри Material Editor. Они могут быть особенно полезными для добавления деталей к вашим материалам.

  1. Знание типов источников освещения

Unreal предлагает четыре различных типа света для использования в окружающей среде: Directional, Point, Spot, и Sky light. Свет Directional отлично подходит для наружных зон или любого необычного источника света. Свет Point является всенаправленным, а Spot похож на него, но имеет ограничения, определенные конусом. Sky light может использоваться для добавления света в окружающую среду, захватывая отдаленные части вашей карты. Поддерживаются также пользовательские Cubemaps.

  1. Добавление тумана к вашей сцене

Существует стандартный способ создания всем нам известного обычного плотного тумана. Unreal 4 же предлагает два других способа добавить туман к вашей сцене. Atmospheric Fog реагирует на направленный угол освещения и интенсивность. Он может создать туман, основанный на реальном рассеянном атмосферном свете. Height Fog дает немного больше контроля цвета и позволяет добавить более простой эффект тумана, который становится менее плотным в верхних частях карты и более плотным в нижних частях.

  1. Создание умных световых валов

Световые лучи или « God rays » могут быть мощным визуальным инструментом и создаваться частицами в воздухе, освещенном определенными источниками света. В Unreal 4 они могут быть созданы несколькими способами. Наиболее распространенный способ заключается в том, чтобы позволить им использовать свойства направленного света. Они также могут быть выполнены с использованием геометрии и умных материалов.

  1. Съемки с высоким разрешением

Хотя пользовательские видео разрешения могут быть выведены из Matinee, есть быстрый и простой способ сделать кадры в высоком разрешении прямо из редактора. Нажав на маленькую нисходящую стрелку в левом верхнем углу вашего Viewport, вы можете открыть небольшое раскрывающееся меню. Внизу можно открыть окно High Resolution Screenshot window. Оттуда снимки в высоком разрешении могут быть захвачены и отправлены в папку вашего проекта: project/saved/Screenshots folder.

  1. Корректировка цвета и таблицы поиска

Финальные цвета рендеринга можно настроить на основе художественных предпочтений. Хотя существуют опции для базовых настроек, таких как контраст и оттенок, пользовательская коррекция цвета может быть выполнена с использованием таблиц цветового поиска. Эти таблицы допускают сложное преобразование цвета и могут быть сделаны при помощи базового файла, доступного на сайте Epic Unreal 4 и в Photoshop, или в других программах для настройки изображений.

  1. Редактирование световых переходов и бликов

В играх и 3D стало популярным отображать световые переходы и блики, их можно включить и настроить в UE4, используя специальные зоны постобработки - post-process volumes. Световой поток настраивается практически по всем характеристикам. Размер, цвет, интенсивность и порог можно изменить и даже использовать их для маскировки текстур грязи и имитации грязных линз. Аналогично, вспышки также могут быть включены, а их форма и интенсивность регулируются.

  1. Создание глубины резкости

Unreal 4 поддерживает как резкость по Гауссу, так и настраиваемую. Оба эти параметра существуют в настройках Post Process Volumes. Следует также отметить, что инструменты, которые помогают с размытием тонких объектов перед удаленными, иногда могут создавать проблемы. Нужно проявлять осторожность в применении глубины резкости, например, к листве или другим подобным элементам.

  1. Автоэкспозиция и адаптация глаз

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

  1. Световые функции

Одна интересная особенность в Unreal 4 - поддержка материалов с функцией освещения. Эти материалы действуют как маски для света и могут использоваться, чтобы сделать что-либо: от пользовательских цветовых вариаций в свете до облачных теней на земле. Они создаются путем установки функции Material Domain to Light в Material Editor, их можно использовать при spot, point и directional lights.

  1. Сэкономьте время, скопировав и вставив

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

А самое крутое - это то, что все, что скопировано из Unreal, можно вставить в текстовый документ. Затем этот текст можно скопировать и повторно вставить на другой уровень Unreal 4.

  1. Режим просмотра и визуализация рендер пасов

Знание того, что составляет ваш образ, является неотъемлемой частью работы в любом 3D-движке и работает в отложенном рендерере, например, UE4 позволяет использовать некоторые полезные режимы просмотра. Нажатие Alt и 1-8 переключается между различными режимами просмотра, такими как Unlit или lighting only, но если вы нажмете кнопку View Mode в окне Viewport, вы можете просмотреть отдельные рендер пасы. Это может быть полезно для просмотра широких диапазонов материалов, таких как roughness.

Хотя Unreal невероятно мощный, не каждая рабочая станция создается одинаково. Если вы столкнулись с проблемами производительности движка, первое, что нужно включить, - это параметры масштабирования движка в «Setting» на панели Editor Toolbar. Отключение некоторых параметров, таких как сглаживание, может действительно ускорить работу. Другой трюк состоит в том, чтобы группировать множество объектов в world outliner. Затем вы можете переключать их видимость, чтобы улучшить производительность.