Material

MeshNodeMaterial

Пользовательский материал на основе нод.

Этот материал используется для описания пользовательских настроек материалов, экспортируемых из Blender или 3ds Max. Может быть физически основанным или нефизическими в зависимости от указанных нод.

Примеры

Изменение цвета материала, указанного в ноде "RGB.001":

var object = app.scene.getObjectByName("MyObj"); var mat = object.material; var index = mat.nodeRGBMap['RGB.001']; // 'RGB.001' is the name of an RGB node mat.nodeRGB[index] = new v3d.Vector4(1, 0, 0, 1); // new color in RGBA format mat.needsUpdate = true;

Изменение значения, указанного в ноде "Value.001":

var object = app.scene.getObjectByName("Circle"); var mat = object.material; var index = mat.nodeValueMap['Value.001']; mat.nodeValue[index] = 0.5; // new value mat.needsUpdate = true;

Конструктор

MeshNodeMaterial(parameters : Object)

parameters — (опционально) объект с одним или несколькими свойствами, определяющими внешний вид материала. Сюда можно передать любое свойство материала (включая любое свойство, унаследованное от Material).

Исключением является свойство color, которое может быть передано в виде шестнадцатеричной строки и по умолчанию имеет значение 0xffffff (белый). Color.set(color) вызывается внутренне.

Свойства

Общие свойства см. в базовом классе Material.

.envMap : Texture

Карта окружения. Для обеспечения физически корректного рендеринга следует добавлять только те карты окружения, которые были предварительно обработаны PMREMGenerator. Назначается автоматически из соответствующего объекта CubeReflectionProbe, если Material.envMapAutoAssign имеет значение true. По умолчанию - null.

.envMapIntensity : Float

Масштабирует эффект карты окружения путем умножения ее цвета. По умолчанию 1.

.envMapParallaxMatrix : Matrix4

Matrix4 используется для применения эффекта параллакса к .envMap материала. Эта матрица переносит преобразование из мирового пространства в пространство конкретного reflection probe, карту окружения которого этот материал использует для рендеринга. Вычисляется автоматически, если Material.envMapAutoAssign - true. По умолчанию это матрица тождества.

.envMapParallaxMatrixInv : Matrix4

Matrix4, обратная к .envMapParallaxMatrix. Используется для применения эффекта параллакса к .envMap материала. Вычисляется автоматически, если Material.envMapAutoAssign - true. По умолчанию это матрица тождества.

.envMapParallaxType : Constant

Определяет тип объема параллакса. Такой же, как CubeReflectionProbe.parallaxType. Назначается автоматически из соответствующего CubeReflectionProbe, если Material.envMapAutoAssign - true. По умолчанию ReflectionProbeTypeInfinite.

.nodeGraph : DiGraph

Графа, содержаная ноды материала.

.additionalNodeGraphs : Object

Дополнительные графы, представляющие группу нод главной графы нодов.

.profile : String

Профиль материала ноды, он может быть "blender" или "max".

.nodeTextures : Object

Объект с текстурами материалов. Он сопоставляет имена текстур с textures. Вы можете использовать его для динамического назначения новых текстур материалу.

.nodeRGB : Array

Массив значений Vector4, который содержит значения цветов нод "RGB" материала. Обратите внимание, что эти цвета представлены 4-мерным вектором, а не классом Color.

.nodeRGBMap : Array

Сопоставляет имя ноды "RGB" с индексом в массиве .nodeRGB. Используется для определения того, какое значение цвета должно быть обновлено, см. пример списка выше.

.nodeValue : Array

Массив плавающих значений, которые содержат значения нод "Value" материала.

.nodeValueMap : Array

Сопоставляет имя ноды "Value" с индексом в массиве .nodeValue. Используется для определения значения, которое должно быть обновлено, см. пример списка выше.

.isMeshNodeMaterial : Boolean

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

Методы

Общие методы см. в базовом классе Material.

.updateNodeGraph() → null

Генерирует шейдеры и обновляет другие параметры материала на основе указанного .nodeGraph.

Статические методы

.nodeGraphFromGLTF(gltfNodeGraph : Object) → DiGraph

Преобразование GLTF node graph в формат, используемый свойством .nodeGraph материала.

Пазлы

Используйте следующие пазлы для управления материалами:
assign material — назначить материал объекту.
replace texture — заменить текстуру материала.

Исходный файл

О том как получить исходный код этого модуля читайте тут.