Полезное

Мы Вконтакте

Discord канал

Физически корректные материалы (PBR)

Добавлено Апр 08 2016

Этот документ предназначен, чтобы помочь тем, кому необходимо быстро освоить Physically Based Materials. Это предполагает, что вы по крайней мере, до некоторой степени знакомы с созданием материалов в Unreal Engine,
по крайней мере с Unreal Engine 3 или более поздней версии.
Наша цель здесь, чтобы дать вам только данные первой необходимости, как сделать стандартные материалы, используя эту систему, так как она может быть причиной путаницы, даже для тех, у кого есть опыт работы в предыдущих версиях Unreal Engine.
Мы будем концентрироваться только на тех аспектах материалов, которые связаны с нашим Physically Based подходом.

Что такое Physically Based Materials?

Physically Based shading означает что мы моделируем то что свет делает в реальном мире, на основе реальных физических параметров. Конечным результатом является более точный и, как правило, более естественный вид.
Physically Based Materials будут одинаково хорошо работать во всех средах освещения. Кроме того, значения, материала могут быть менее сложными и взаимозависимым, что приводит к более интуитивному интерфейсу.
Эти преимущества применимы даже для не фотореалистичной визуализации. По этим и другим причинам, в Unreal Engine 4 был принят новый подход к моделированию материалов, на основе физических параметров.

Параметры материалов

“Физическими” параметрами в нашей системе являются только четыре свойства. Это:

  • Base Color
  • Roughness
  • Metallic
  • Specular
Все эти входы предназначены что бы принимать значения от 0 до 1. В случае Base Color, это означает, что цвет имеет компоненты RGB, которые так же попадают между 0 и 1.

Эти параметры могут быть измерены у реальных материалов. Некоторые примеры будут даны ниже.

Base Color

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

Base Color

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

Материал Интенсивность
Древесный уголь 0,02
Свежий асфальт 0,02
Изношенный асфальт 0,08
Голая почва 0,13
Зеленая трава 0,21
Песок пустыни 0,36
Свежеуложенная бетонная смесь 0,51
Океанический лёд 0,56
Свежий снег 0,81

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

Материал Цвет
Железо (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,449)
Кобальт (0,662, 0,655, 0,634)
Платина (0,672, 0,637, 0,585)

Roughness

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

Roughness

Roughness

Roughness 1
Roughness 0
Roughness 0.5
Roughness 0.5
Roughness 1
Roughness 1

Mapping Roughness

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

Roughness 1
Roughness 0
Roughness 0.5
Roughness 0.5
Roughness 1
Roughness 1

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

Metallic

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

Roughness

Roughness 1
Metallic 0
Roughness 0.5
Metallic 0.5
Roughness 1
Metallic 1

Specular

Specular как правило не используется, значение по умолчанию 0.5 для большинства случаев.
Значение от 0 до 1 используется для масштабирования текущего количества зеркальности на неметаллических поверхностях. Этот параметр не оказывает никакого влияния на металлы.
Обычно, если мы изменяем Specular, мы делаем это, чтобы добавить микро затенение, скажем, из трещин, представленных в обычной карте. Их иногда называют полостями. Как правил микро-геометрия не захватывается обычной картой теней,
по этому мы создаём специальную AO карту.Затем умножаем на конечный Base Color перед выходом и умножаем на 0,5 (Specular по умолчанию) в качестве выхода Specular.
Чтобы было ясно Base Color = Cavity * OldBaseColor, Specular = Cavity * 0,5. Это может быть использовано для управления коэффициентом преломления (IOR). Мы поняли, что это не требуется для 99% материалов.

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

Материал Specular
Стекло 0.5
Пластик 0.5
Кварц 0.570
Лёд 0.224
Вода 0.255
Молоко 0.277
Кожа 0.35

Roughness 1
Specular 0
Roughness 0.5
Specular 0.5
Roughness 1
Specular 1

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

Добавил: Flakky Категория: Материалы и Шейдеры


Комментарии

На данный момент комментарии отключены.

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница