Material

MeshLambertMaterial

Материал для неблестящих поверхностей, без спекулярных бликов.

Материал использует нефизически основанную модель Lambertian для расчета отражательной способности. Она может хорошо имитировать некоторые поверхности (например, необработанное дерево или камень), но не может имитировать блестящие поверхности со спекулярными бликами (например, лакированное дерево).

Затенение рассчитывается с помощью модели шейдинга Gouraud. При этом вычисляется затенение для каждой вершины (т.е. в vertex shader) и интерполирует результаты по граням полигона.

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

Конструктор

MeshLambertMaterial(parameters : Object)

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

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

Свойства

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

.alphaMap : Texture

Альфа-карта - это черно-белая текстура, которая контролирует непрозрачность поверхности. (черный: полностью прозрачный; белый: полностью непрозрачный). По умолчанию - null.

Используется только цвет текстуры, игнорируя альфа-канал, если он существует. Для текстур RGB и RGBA рендерер WebGL будет использовать зеленый канал при выборке этой текстуры из-за дополнительного бита точности, предоставляемого для зеленого цвета в DXT-сжатом и несжатом форматах RGB 565. Только яркость и яркость/альфа-текстуры также будут работать, как и положено.

.aoMap : Texture

Красный канал этой текстуры используется в качестве карты окклюзии окружающего пространства. По умолчанию - null. Для карты aoMap требуется второй набор UVs.

.aoMapIntensity : Float

Интенсивность эффекта окклюзии окружающей среды. По умолчанию - 1. Ноль - эффект окклюзии отсутствует.

.color : Color

Color материала, по умолчанию установлен на белый цвет (0xffffff).

.combine : Integer

Как объединить результат цвета поверхности с картой окружения, если таковая имеется.

Возможные варианты v3d.Multiply (по умолчанию), v3d.MixOperation, v3d.AddOperation. Если выбрано смешивание, то .reflectivity используется для смешивания двух цветов.

.emissive : Color

Излучающий (световой) цвет материала, по сути, сплошной цвет, на который не влияет другое освещение. По умолчанию - черный.

.emissiveMap : Texture

Устанавливает карту излучения (свечения). По умолчанию - null. Цвет эмиссионной карты модулируется цветом эмиссии и интенсивностью эмиссии. Если у вас есть эмиссионная карта, обязательно установите цвет излучения не на черный.

.emissiveIntensity : Float

Интенсивность излучаемого света. Модулирует цвет излучения. По умолчанию - 1.

.envMap : Texture

Карта окружения. По умолчанию равно null.

.lightMap : Texture

Карта света. По умолчанию равно null. Для карты света требуется второй набор UVs.

.lightMapIntensity : Float

Интенсивность запеченного света. По умолчанию - 1.

.map : Texture

Карта цветов. По умолчанию равно null.

.morphNormals : Boolean

Определяет, использует ли материал morphNormals. Установите значение true, чтобы передавать атрибуты morphNormals из Geometry в шейдер. По умолчанию false.

.morphTargets : Boolean

Определяет, использует ли материал morphTargets. По умолчанию - false.

.reflectivity : Float

Насколько сильно карта окружения влияет на поверхность; также см. .combine.

.refractionRatio : Float

Показатель преломления (IOR) воздуха (приблизительно 1), деленный на показатель преломления материала. Используется с режимами отображения окружения v3d.CubeRefractionMapping и v3d.EquirectangularRefractionMapping. Коэффициент преломления не должен превышать 1. По умолчанию 0,98.

.skinning : Boolean

Определяет, использует ли материал скиннинг. По умолчанию - false.

.specularMap : Texture

Спекулярная карта, используемая материалом. По умолчанию равно null.

.wireframe : Boolean

Рендерить геометрию в виде вайрфрейма. По умолчанию false (т.е. рендеринг в виде плоских полигонов).

.wireframeLinecap : String

Определяет внешний вид концов линий. Возможные значения "butt", "round" и "square". По умолчанию 'round'.

Это соответствует свойству 2D Canvas lineCap и игнорируется WebGL рендерером.

.wireframeLinejoin : String

Определяет внешний вид стыков линий. Возможные значения "round", "bevel" и "miter". По умолчанию 'round'.

Это соответствует свойству 2D Canvas lineJoin и игнорируется WebGL рендерером.

.wireframeLinewidth : Float

Управляет толщиной вайрфрейма. По умолчанию - 1.

В связи с ограничениями OpenGL Core Profile with the WebGL рендерера на большинстве платформ ширина линии будет всегда будет равна 1, независимо от установленного значения.

Методы

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

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

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