Материалы с физической основой в Unreal Engine 4

0
74
Материалы с физической основой в Unreal Engine 4

Этот документ призван помочь тем, кому необходимо быстро ускорить работу в системе материалов Unreal Engine 4. Предполагается, что вы знакомы с созданием материалов в Unreal Engine, по крайней мере, с Unreal Engine 3 или более новой версией. Если вы совершенно не знакомы с Материалами в Unreal, вы можете начать с раздела Essential Material Concepts.

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

Что значит – Физическая основа?

Физически основанное затенение означает, что мы приближаемся к тому, что на самом деле делает свет в противоположность тому, что мы интуитивно считаем, что он (свет) должен делать. Конечный результат более точный и, как правило, более естественный. Материалы с физической основой будут одинаково хорошо работать во всех средах освещения. Кроме того, значения материала могут быть менее сложными и взаимозависимыми, что приводит к более интуитивно понятному интерфейсу. Эти преимущества применимы даже для нефотореалистического рендеринга, о чем свидетельствуют последние фильмы из Pixar [4] и Disney [3].

По этим и другим причинам, Unreal Engine 4 принял новый физически основанный Материал и модель затенения. Для подробного  рассмотрения Материала с физической основой и модели затенения UE4, пожалуйста, обратитесь к моей презентации SIGGRAPH [2].

Параметры Материала

Что касается «физически основанного» аспекта нашей Системы Материалов, есть действительно только 4 разных свойства, с которыми вам нужно быть знакомыми. Это:

  • Base Color – Базовый цвет
  • Roughness – Резкость
  • Metallic – Металлик
  • Specular – Зеркальный
Все эти входы рассчитаны на значения от 0 до 1. В случае Базового цвета это означает цвет с RGB-значениями, которые находятся между 0 и 1.

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

Base Color – Базовый цвет

Base Color определяет общий цвет Материала, принимая значение Vector3 (RGB), где каждый канал автоматически зажимается между 0 и 1.

Base Color Материала UE4

Если взять из реального мира, это цвет, когда фотография сделана с использованием поляризационного фильтра (поляризация удаляет зеркало неметаллов при выравнивании).

Измеренные значения BaseColor для неметаллов (только для интенсивности):

МатериалИнтенсивность BaseColor
Древесный уголь0.02
Свежий асфальт0.02
Изношенный асфальт0.08
Голая почва0.13
Зеленая трава0.21
Песок пустыни0.36
Свежий бетон0.51
Океанский лед0.56
Свежий снег0.81

Измеренные значения BaseColor для металлов:

МатериалBaseColor (R, G, B)
Железо(0.560, 0.570, 0.580)
Серебро(0.972, 0.960, 0.915)
Алюминий(0.913, 0.921, 0.925)
Золото(1.000, 0.766, 0.336)
Медь(0.955, 0.637, 0.538)
Хром(0.550, 0.556, 0.554)
Никель(0.660, 0.609, 0.526)
Титан(0.542, 0.497, 0.499)
Кобальт(0.622, 0.655, 0.634)
Платина(0.672, 0.637, 0.585)

Roughness – Резкость

Ввод Roughness (Резкости) управляет резкостью Материала. Грубые Материалы рассеивают отраженный свет в большем количестве направлений, чем гладкие Материалы, в которых отражение размытое или резкое (или в том, насколько широким или плотным является зеркальная подсветка). Значение Резкости 0 (гладкий) приводит к зеркальному отражению, а значение 1 (грубый) приводит к диффузной (или матовой) поверхности.

значение резкости UE4

значение резкости 1 UE4Резкость от 0 до 1. Неметаллический верху, металлический внизу.

Roughness-21
Roughness-20
Roughness-19
Roughness-18
Roughness-17
Roughness-16
Roughness-15
Roughness-14
Roughness-13
Roughness-12
Roughness-11
Roughness-10
Roughness-9
Roughness-8
Roughness-7
Roughness-6
Roughness-5
Roughness-4
Roughness-3
Roughness-2
Roughness-1

Отображение Резкости

Roughness (Резкость) – это свойство, которое будет часто отображаться на ваших объектах, чтобы добавить наибольшее физическое изменение поверхности.

Rough-Bias-1
Rough-Bias-2
Rough-Bias-3
Rough-Bias-4
Rough-Bias-5
Rough-Bias-6
Rough-Bias-7
Rough-Bias-8
Rough-Bias-9
Rough-Bias-10
Rough-Bias-11
Rough-Bias-12
Rough-Bias-13
Rough-Bias-14
Rough-Bias-15
Rough-Bias-16
Rough-Bias-17
Rough-Bias-18
Rough-Bias-19
Rough-Bias-20
Rough-Bias-21
Если вы делали Материалы в предыдущих итерациях Unreal Engine и не привыкли к Материалам с физической основой, имейте в виду, что карты резкости (Roughness) – это то место, где вы будете обрабатывать большую часть текстурирования зеркальности (Specularity).

Metallic – Металик

Вход Metallic определяет, как будет выглядеть «металлическая» поверхность. Неметаллы имеют металлические значения 0, а металлы имеют металлические значения 1. Это значение будет либо 0, либо 1 для чистых поверхностей, таких как чистый металл, камень или пластик. При создании гибридных поверхностей, таких как коррозийные или пыльные металлы, вы можете обнаружить, что вам нужно какое-то значение между 0 и 1.

значение металик UE4

Metallic от 0 до 1

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

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

Metallic_1
Metallic_2
Metallic_3
Metallic_4
Metallic_5
Metallic_6
Metallic_7
Metallic_8
Metallic_9
Metallic_10
Metallic_11
Metallic_12
Metallic_13
Metallic_14
Metallic_15
Metallic_16
Metallic_17
Metallic_18
Metallic_19
Metallic_20
Metallic_21

Specular – Зеркальный

Когда вы редактируете материал с неметаллической поверхностью, может быть такое, что вы захотите настроить его способность отражать свет, в частности, его свойство отражения Specular. Чтобы обновить Specular Material, введите скалярное значение между 0 (неотражающим) и 1 (полностью отражающим). Обратите внимание, что значение по умолчанию Specular Material равно 0.5.

Для очень размытых (диффузных) Материалов вы можете склоняться к нулю. Не стоит! Все Материалы имеют зеркальный характер, см. этот пост для примеров [5]. То, что вы действительно хотите сделать для очень размытых Материалов, делает их грубыми.

Обычно, если мы модифицируем Specular, мы делаем это, чтобы добавить микроокклюзию или мелкомасштабное затенение, скажем, из трещин, представленных на карте нормали. Они иногда называются полостями. Маломасштабная геометрия, особенно детали, присутствующие только в высоком poly и запеченные в карте нормали, не будут подхватываться тенями рендеринга в реальном времени. Чтобы захватить это затенение, мы создаем карту полостей, которая обычно представляет собой карту АО с очень коротким расстоянием следа. Это умножается на конечный BaseColor перед выходом и умножается на 0,5 (Specular default) как выход Specular. Чтобы быть ясным, это BaseColor = Cavity OldBaseColor, Specular = Cavity0.5.

Для расширенного использования это можно использовать для контроля показателя преломления (IOR). Мы считаем, что для 99% Материалов в этом нет строгой необходимости. Ниже приведены значения Specular, основанные на измеренных значениях IOR.

Измеренные значения:

МатериалSpecular
Стекло0,5
Пластик0,5
Кварц0,570
Лед0,224
Вода0,255
Молоко0,277
Кожа0,35
Specular-1
Specular-2
Specular-3
Specular-4
Specular-5
Specular-6
Specular-7
Specular-8
Specular-9
Specular-10
Specular-11
Specular-12
Specular-13
Specular-14
Specular-15
Specular-16
Specular-17
Specular-18
Specular-19
Specular-20
Specular-21

материалы ue4Пример измеренных материалов. Вверху: Древесный уголь, свежий бетон, изношенный асфальт. Внизу: медь, железо, золото, алюминий, серебро, никель, титан.

Рекомендации

1. Lagarde, Подача модели затенения с физической основой.

2. Karis, Настоящее затенение в Unreal Engine 4.

3. Burley, Затенение с физической основой в Дисней.

4. Smits, Дизайн модели отражения для WALL-E и Up.

5. Hable, Все сияет.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: