Пользовательский материал на основе нод.
Этот материал используется для описания пользовательских настроек материалов, экспортируемых из 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;
parameters — (опционально) объект с одним или несколькими свойствами, определяющими внешний вид материала.
Сюда можно передать любое свойство материала (включая любое свойство, унаследованное от Material).
Исключением является свойство color, которое может быть передано в виде шестнадцатеричной строки
и по умолчанию имеет значение 0xffffff (белый). Color.set(color) вызывается внутренне.
Общие свойства см. в базовом классе Material.
Карта окружения. Для обеспечения физически корректного рендеринга следует добавлять только те карты окружения, которые были предварительно обработаны PMREMGenerator. Назначается автоматически из соответствующего объекта CubeReflectionProbe, если Material.envMapAutoAssign имеет значение true. По умолчанию - null.
Масштабирует эффект карты окружения путем умножения ее цвета. По умолчанию 1.
Matrix4 используется для применения эффекта параллакса к .envMap материала. Эта матрица переносит преобразование из мирового пространства в пространство конкретного reflection probe, карту окружения которого этот материал использует для рендеринга. Вычисляется автоматически, если Material.envMapAutoAssign - true. По умолчанию это матрица тождества.
Matrix4, обратная к .envMapParallaxMatrix. Используется для применения эффекта параллакса к .envMap материала. Вычисляется автоматически, если Material.envMapAutoAssign - true. По умолчанию это матрица тождества.
Определяет тип объема параллакса. Такой же, как CubeReflectionProbe.parallaxType. Назначается автоматически из соответствующего CubeReflectionProbe, если Material.envMapAutoAssign - true. По умолчанию ReflectionProbeTypeInfinite.
Графа, содержаная ноды материала.
Дополнительные графы, представляющие группу нод главной графы нодов.
Профиль материала ноды, он может быть "blender" или "max".
Объект с текстурами материалов. Он сопоставляет имена текстур с textures. Вы можете использовать его для динамического назначения новых текстур материалу.
Массив значений Vector4, который содержит значения цветов нод "RGB" материала. Обратите внимание, что эти цвета представлены 4-мерным вектором, а не классом Color.
Массив плавающих значений, которые содержат значения нод "Value" материала.
Сопоставляет имя ноды "Value" с индексом в массиве .nodeValue. Используется для определения значения, которое должно быть обновлено, см. пример списка выше.
Используется для проверки того, представляет ли данный класс материал ноды.
Вы не должны изменять этот параметр, так как он используется внутренне для оптимизации.
Общие методы см. в базовом классе Material.
Генерирует шейдеры и обновляет другие параметры материала на основе указанного .nodeGraph.
Преобразование GLTF node graph в формат, используемый свойством .nodeGraph материала.
Используйте следующие пазлы для управления материалами:
assign material — назначить материал объекту.
replace texture — заменить текстуру материала.
О том как получить исходный код этого модуля читайте тут.