Документация/Статьи/Обзор редактора материалов

From NeoAxis 3D Engine Wiki

Jump to: navigation, search
Перейти на уровень выше

Contents

Описание

Редактор материалов является составной частью редактора ресурсов. Предназначен для настройки материалов и является одним из основных редакторов. Материал определяет настройки отрисовки 3D моделей на экране. Материалы хранятся в файлах с расширением .highMaterial.

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

Чтобы отредактировать материал, нужно в дереве ресурсов дважды щелкнуть по файлу материала левой кнопкой мыши или выбрать пункт Edit в контекстном меню.

MaterialEditor 002.jpg

Создание материала

MaterialEditor 003.jpg

Для создания нового материала, нужно кликнуть по нужной папке правой кнопкой мыши и в контекстном меню выбрать пункт New -> Material. В появившемся окне необходимо указать имя и тип материала.

Доступные типы материалов:

  • ShaderBaseMaterial — Базовый тип материала. Используется для большинства нужд.
  • FPSWeaponMaterial — Материал, предназначенный для отрисовки моделей, которые находятся близко к камере. Особенностью данного материала является то, что модели с таким материалом не будут проникать сквозь другие объекты. Такой материал нужно использовать для моделей оружия и рук персонажа в режиме от первого лица.
  • VegetationMaterial — Материал, который используется для создания травы и деревьев. Данный материал позволяет настроить анимацию "пошатывания на ветру".
  • SimpleExampleMaterial — Пример создания нового типа материала. Поддерживает настройку только диффузной текстуры.
MaterialEditor 004.jpg

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

Только что созданный материал

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

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

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

Основные сведения о материале размещены в группе параметров _General:

Функция Описание
_General
DataSource Источник данных. Указывает на файл типа .modelImport, в том случае, если материал получен посредством экспортирования модели, используя промежуточный формат. Если значение параметра установлено, то данный материал будет автоматически обновляться, при изменения файла источника.
Name Имя материала. Не редактируется. Для изменения имени материала необходимо переименовать файл в окне дерева ресурсов.
Template Тип материала. Указывается при создании. Не редактируется.

Общие параметры материала

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

Функция Описание
_ShaderBase
AllowFog Включить/выключить применение эффекта тумана, если он используется в сцене.
AlphaRejectFunction Включить/выключить отрисовку пикселей в зависимости от значения альфа-канала в текстуре. По умолчанию AlwaysPass, т.е. всегда разрешать отрисовку. Используется вместе с параметром AlphaRejectValue. Данная возможность позволяет добавить прозрачность к материалу без понижения производительности. Другой способ создания прозрачного материала — настройка смешивания с помощью параметра Blending.
AlphaRejectValue Значение альфа-канала для отбрасывания пикселей. Используется вместе с параметром AlphaRejectFunction.
AlphaToCoverage Включить/выключить режим Alpha To Coverage для отрисовки прозрачных объектов. Параметр позволяет улучшить качество отображения при настроенном AlphaRejectFunction. Данная возможность работает только при включенном Hardware Anti-Aliasing, который настраивается в Конфигураторе.
Blending Способ смешивания при отрисовки. Opaque - непрозрачный материал, AlphaAdd - аддитивный блендинг, AlphaBlend - значение прозрачности берется из альфа-канала диффузной текстуры.
DepthOffset Добавляемое значение при записи в буффер глубины. Применяется для избежания Z-fighting.
DepthTest Включить/выключить тест глубины.
DepthWrite Включить/выключить запись в буфер глубины при рисовании геометрии.
DoubleSided Включить/выключить режим двустороннего материала. Если выбрано значение True, то материал накладывается на обе стороны треугольника.
FadingByDistanceRange Позволяет скрывать объект с данным материалом при удалении камеры на определенную дистанцию. Параметр задается в виде интервала. Начальное значение определяется с какой дистанции начинать скрывать объект. Конечное - на какой дистанции объект станет полностью прозрачным.
HalfLambert Включить/выключить технику освещения Half Lambert.
Lightning Включить/выключить учет освещения в сцене.
ReceiveShadows Включить/выключить прорисовку тени на моделях с данным материалом.
ReceiveSimpleShadows Включить/выключить прорисовку упрощенных теней на моделях с данным материалом.
SoftParticles Включить/выключить технику рисования мягких частиц.
SoftParticlesFadingLength Длина затухания мягких частиц. Используется вместе с параметром SoftParticles.
UseNormals Учитывать или не учитывать нормали треугольников при расчете освещения. Рекомендуется выключить данный флаг для травы, тогда треугольники будут равномерно освещены.

Параметры диффузного цвета

MaterialEditor 006.jpg

Группа Diffuse задает настройки диффузного цвета. Поддерживается до 4 диффузных текстур.

Функция Описание
Diffuse
Diffuse1Map, Diffuse2Map, Diffuse3Map, Diffuse4Map Диффузные текстуры. Можно настроить смешивание текстур с помощью расширенных настроек смешивания.
DiffuseColor Диффузный цвет. Если ни одного файла с текстурой не выбрано, то параметр задает цвет материала.
DiffusePower Множитель диффузного цвета.
DiffuseScaleDynamic Включить/выключить возможность динамического изменения параметра DiffuseColor во время симуляции.
DiffuseVertexColor Включить/выключить использование цвета в вершинах трехмерной модели. Для использования возможности в 3D модели должен присутствовать канал с диффузным цветами вершин.

Параметры самосвечения

MaterialEditor 007.jpg

С помощью группы Emission можно настроить самосветимость материала. Самосветящийся материал будет виден даже при полностью отсутствующем освещении.

Функция Описание
Emission
EmissionColor Цвет свечения материала.
EmissionMap Карта свечения.
EmissionPower Множитель цвета свечения.
EmissionScaleDynamic Включить/выключить возможность динамического изменения параметра EmissionColor во время симуляции.

Параметры карт нормалей и высот

MaterialEditor 008.jpg

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

Функция Описание
Height
DisplacementTechnique Техника сдвига, применяемая при визуализации материала. Предлагается выбрать между параметрами ParallaxOcclussionMapping и ParallaxMapping.
HeightFromNormalMapAlpha Включить/выключить получение значения высоты из альфа канала карты нормалей.
HeightMap Карта высот.
HeightScale Множитель высоты. Определяет максимально возможное значение высоты.
NormalMap Карта нормалей.

Параметры отражения

MaterialEditor 009.jpg

Группа Reflection Cubemapпозволяет добавить отражение материала, которое предварительно рассчитано в виде кубической текстуры. Создание кубической текстуры настраивается в редакторе карт с помощью типа CubemapZone.type.

Функция Описание
Reflection Cubemap
ReflectionColor Цвет отражения.
ReflectionMap Маска/трафарет для наложения карты отражения.
ReflectionPower Множитель цвета отражения.
ReflectionScaleDynamic Включить/выключить возможность динамического изменения параметра ReflectionColor во время симуляции.
ReflectionSpecificCubemap Специальная кубическая текстура для отражений. Если данный параметр не указан, то будет использоваться глобальная карта отражений карты.

Параметры отраженного света

MaterialEditor 010.jpg

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

Функция Описание
Specular
SpecularColor Цвет бликов.
SpecularMap Карта бликов.
SpecularPower Яркость бликов.
SpecularScaleDymanic Включить/выключить возможность динамического изменения параметра SpecularColor во время симуляции.
SpecularShininess Cила блеска (угол рассеивания).

Параметры просвечиваемости

MaterialEditor 011.jpg

Группа параметров Translucency позволяет настроить просвечиваемость материала подобно тому, как просвечиваются листья деревьев на свету.

Функция Описание
Translucency
TranslucencyClearness Чистота просвечиваемости.
TranslucencyColor Цвет, на который умножается цвет от карты просвечиваемости.
TranslucencyDynamic Включить/выключить возможность динамического изменения параметров просвечиваемости по время симуляции.
TranslucencyMap Карта просвечиваемости.
TranslucencyPower Множитель цвета просвечиваемости.

Расширенные параметры карт

MaterialEditor 012.jpg

Расширенные настройки имеются у всех карт (Diffuse, Specular, Emission, Height и т.д.). Они позволяют настроить способ расчета текстурных координат, включая возможность настройки анимации.

Функция Описание
Clamp Включить/выключить ограничения для текстурных координат, если значение текстурной координаты меньше 0 или больше 1.
TexCoord Канал текстурных координат, который будет использоваться при наложении текстуры.
Texture Имя файла с текстурой.

Трансформация

Функция Описание
Transform
Animation Настройки анимации карты. Подробнее рассмотрены ниже.
DynamicParameters Включить/выключить возможность динамического изменения параметров трансформации во время симуляции.
Rotate Угол поворота текстуры.
Scale Масштабирование текстуры по осям X и Y.
Scroll Смещение текстуры по осям X и Y.

Анимация

С помощью группы Animation можно настроить анимацию текстуры.

Функция Описание
Animation
RotateSpeed Скорость вращения текстуры. При положительном значении текстура вращается против часовой стрелки, при отрицательном - по часовой.
ScrollRound Шаг прокрутки текстуры. Применяется для создания анимации, когда в текстуре находится много изображений и их нужно прокрутить. Данная техника чем-то напоминает показ слайдов. С помощью нее можно, к примеру, реализовать анимацию взрыва.
ScrollSpeed Скорость прокрутки текстуры.

Дополнительные типы материалов

Помимо описанного выше типа материала ShaderBaseMaterial существуют и другие типы материалов.

VegetationMaterial

MaterialEditor 013.jpg

VegetationMaterial тип основан на ShaderBaseMaterial и используется при визуализации деревьев и другой растительности. Данный тип позволяет настроить анимации покачивания на ветру. Настройки находятся в группе Vegetation.

Название Описание
Vegetation
BendFrequency Частота изгиба.
BendScale Коэффициент изгиба.
BendVariation Отклонение изгиба.
BranchAmplitude Размах ветвей.
BranchFrequency Частота для ветвей.
DetailBlending Смешивание детальных текстур.
LeafAmplitude Размах листвы.
LeafFrequency Частота для листвы.
ReceiveObjectsPositionsFromVertices Включить/выключить получение позиций объекта из вершин. Необходимо включить этот параметр, если 3D модель с данным материалом используется в DecorativeObjectManager.type.
WindEffectFactor Коэффициент влияния ветра.

FPSWeaponMaterial

Тип FPSWeaponMaterial основан на ShaderBaseMaterial и предназначен для объектов, которые необходимо отрисовывать поверх других, даже если вторые находятся ближе. Такое поведение необходимо для отрисовки оружия при виде от первого лица.

Данный тип материала не содержит специальных параметров.

SimpleExampleMaterial

SimpleExampleMaterial является примером создания новых типов материалов. Данный тип позволяет настроить только диффузную текстуру.

Название Описание
SimpleExampleMaterial
DiffuseMap Путь к диффузной текстуре.

Настройка редактора

Настройки редактора материалов находятся во вкладке Material окна материлов, которое можно открыть из главного меню Tools -> Options или нажать кнопку Options на панели инструментов.

MaterialEditor 016.jpg

Основные настройки

Название Описание
General
Background Color Основной цвет фона в редакторе. Фоновый цвет виден в том случае, если в редакторе выключено небо (параметр Sky Box).
Preview Mesh Name Путь к 3D модели, на которую будет накладываться материал в редакторе.
Show Axes Включить/выключить отображение осей координат для упрощения ориентации в пространстве.
Show Grid Включить/выключить отображение сетки.
Sky Box Скайбокс (небо), который будет отображаться в качестве фона при просмотре редактируемых материалов.

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

Помимо основных настроек можно изменить свойства источников света. Всего можно использовать три источника.

Название Описание
Light
Light Diffuse Color Диффузный цвет источника света.
Light Position Позиция источника света.
Light Specular Color Цвет отраженного света от источника.

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

Название Описание
Light Ambient
Ambient Light Color Яркость окружения.