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

Обзор

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

Редактор материалов можно открыть двойным щелчком по существующему материалу в обозревателе ресурсов.

Инспектор

Shader

Вы можете выбрать соответствующий шейдер из виджета «Shader Selection».
Есть несколько в основном используемых шейдеров; самые важные из них pbr_metallic и pbr_shading.

pbr_shading

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

pbr_metallic

Это то, что вам следует использовать чаще всего. В этом шейдере используется стандартный металлический конвейер PBR, а входные данные совместимы с большинством программ для создания текстур.
Inputs:
Albedo and Normal: These are pretty standard, outputs of texture authoring softwares can directly be used. Specular: This texture uses its 4 channel for different purposes. Red channel contains Metallic information, Green channel contains Glossiness (inverse of Roughness), Blue channel contains Ambient Occlusion, and Alpha channel contains Translucency (for vegetation shaders only)

grass

Этот шейдер является производным от pbr_metallic и должен использоваться только на мешах травы. Содержит специальные эффекты, такие как анимация ветра, анимация качания, плавный переход LOD, умножение цвета на местности и т.д.

flora_leaf

Этот шейдер является производным от pbr_metallic и должен использоваться только на листовых частях деревьев / кустов. Содержит специальные эффекты, такие как анимация ветра, анимация качания, умножение цвета на местности, плавный переход LOD, полупрозрачность (альфа-канал зеркальной текстуры) и т.д.

flora_bark

Этот шейдер является производным от pbr_metallic и должен использоваться только на частях коры деревьев / кустов. Содержит специальные эффекты, такие как анимация ветра, плавный переход LOD и т.Д.

Textures

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

Diffuse2Map

Этот вход используется внутри движка для создания специальных эффектов / смешиваний, таких как Shield Banner Paintings. Текстура баннера в этом слоте будет отображаться только там, где Diffuse 1 Texture содержит альфа. Использование этой текстуры действительно зависит от используемого шейдера.

DetailNormalMap

Этот вход используется для создания микродефектов и дополнительных высокочастотных деталей поверх обычных карт нормалей. Масштаб этой текстуры можно настроить на панели Texture Settings.

HeightMap

Этот вход используется как в Parallax Occlusion Shading, так и в Displacement.

Decal(___)Map

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

Texture Settings

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

Areamap Scale

Используется внутри для передачи параметров.

Specular Coef

Металлический канал (красный канал текстуры зеркального отражения) умножается на это значение в шейдере.

Gloss Coef

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

Ambient Occlusion Coef

Канал AO (синий канал зеркальной текстуры) умножается на это значение в шейдере.

Normal Depth

Нормальные текстуры каналов X и Y умножаются на это значение. Если вы установите значение, близкое к нулю, поверхность будет казаться более плоской, так как значения X и Y будут близки к нулю, и только направление Z влияет на отображение нормалей.

Detail Normal Scale

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

Parallax Mode

Вы можете выбрать метод смещения для этого материала. Возможные варианты: Parallax или Displacement. Оба требуют текстуры карты высот. Parallax использует Parallax Occlusion Mapping в шейдере, Displacement использует аппаратную тесселяцию.

Parallax Amount

Интенсивность вытесняющего эффекта.

Parallax Offset

Устанавливает среднее значение на желаемую высоту. (Значение 0.5 в карте высот).

Material Shader Flags

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

use_detailnormalmap

Этот флаг должен быть включен, чтобы использовать функцию Detail Normal Map.

alpha_test

Альфа-значения текстуры Diffuse 1 используются как текстура вырезания. Альфа-порог можно указать на панели Transparency.

use_specular

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

use_procedural_wind_animation

Можно задействовать для создания очень простого и дешевого эффекта синусоидального ветра. В основном используется для палаток / флагов. (Не следует путать с функцией физики ткани).

self_illumination

Включает самоподсветку. Текстуру освещения необходимо указать в Diffuse 2. Параметры яркости можно настроить в панели Vector Arguments.

use_specular_from_diffuse

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

use_double_colormap_with_mask_texture

Используется для создания командных цветовых эффектов в одежде. Создается специальная текстура, определяющая, какие части одежды должны быть затронуты цветами команды. Простая красно-зеленая текстура для основных и дополнительных цветов указана в текстуре Diffuse 2. Основные и второстепенные цвета устанавливаются игровым кодом как Factor Colors.

Transparency

Здесь можно указать режим альфа-наложения и пороговые значения альфа-теста.
Здесь также можно включить функцию Multi Pass Alpha. Этот метод визуализирует сетку дважды и с альфа-тестом, и с альфа-смешением для создания объемных, но гладких сеток с альфа-тестами. (Альфа-тест в средних областях для высокого покрытия, но сглаживает градиенты с альфа-смешением по краям, например, Волосы).

Others

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

Vector Arguments

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

Factor Colors

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

Vertex Layout

Эта панель используется для указания макета вершин, который должен использоваться шейдерами вершин.

Bump Map

В большинстве случаев должен быть включен (этого требует стандартный PBR).

Skinning and Skinning Precise

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

Double UV

Включите, если для ваших пользовательских шейдеров требуются двойные UV-каналы.

PostFX

Используется внутри движка.