Описание
Блок материальных значений для применения.
MaterialPropertyBlock используется Graphics.DrawMesh и Renderer.SetPropertyBlock. Используйте его в ситуациях, когда вы хотите рисовать несколько объектов из одного и того же материала, но с немного разными свойствами. Например, если вы хотите немного изменить цвет каждой нарисованной сетки. Изменение состояния рендеринга не поддерживается.
Двигатель ландшафта Unity использует MaterialPropertyBlock для рисования деревьев; все они используют один и тот же материал, но каждое дерево имеет разный цвет, масштаб и фактор ветра.
Блок, переданный в Graphics.DrawMesh или Renderer.SetPropertyBlock, копируется, поэтому наиболее эффективный способ использования это чтобы создать один блок и повторно использовать его для всех вызовов DrawMesh. Используйте SetFloat, SetVector, SetColor, SetMatrix, SetTexture, SetBuffer для добавления или замены значения.
Смотрите так же: Graphics.DrawMesh, Material.
Свойства
| isEmpty | Блок свойств материала пуст? (Только чтение) |
Публичные Методы
| Clear | Очистить значения свойств материала. |
| CopyProbeOcclusionArrayFrom | Эта функция копирует весь исходный массив в массив свойств Vector4 с именем unity_ProbesOcclusion для использования с инстансным рендерингом Shadowmask. |
| CopySHCoefficientArraysFrom | Эта функция преобразует и копирует весь исходный массив в 7 массивов свойств Vector4 с именами unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb и unity_SHC для использования с инстансным рендерингом светового зонда. |
| GetColor | Получает цвет из блока свойств. |
| GetFloat | Получает число с плавающей запятой из блока свойств. |
| GetFloatArray | Получает массив с плавающей запятой из блока свойств. |
| GetInt | Получает int из блока свойств. |
| GetMatrix | Получает матрицу из блока свойств. |
| GetMatrixArray | Получает массив матриц из блока свойств. |
| GetTexture | Получает текстуру из блока свойств. |
| GetVector | Получает вектор из блока свойств. |
| GetVectorArray | Получает векторный массив из блока свойств. |
| SetBuffer | Устанавливает свойство буфера. |
| SetColor | Устанавливает свойство цвета. |
| SetConstantBuffer | Устанавливает ComputeBuffer или GraphicsBuffer в качестве именованного буфера констант для MaterialPropertyBlock. |
| SetFloat | Устанавливает свойство с плавающей запятой. |
| SetFloatArray | Устанавливает свойство массива с плавающей запятой. |
| SetInt | Добавляет свойство в блок. Если свойство int с данным именем уже существует, старое значение заменяется. |
| SetMatrix | Устанавливает свойство матрицы. |
| SetMatrixArray | Устанавливает свойство массива матриц. |
| SetTexture | Устанавливает свойство текстуры. |
| SetVector | Устанавливает свойство вектора. |
| SetVectorArray | Устанавливает свойство векторного массива. |

