Unity 6.3
0 онлайн 134 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 255 из 442

Добавление свойств материала

Чтобы назначить свойства материала объекту Shader в ShaderLab, вы помещаете блок Properties внутрь блока Shader.

Если вы хотите получить доступ к некоторым из этих свойств в шейдерная программа, вам необходимо заявить Cg/HLSL переменная с тем же именем и соответствующим типом.

Например, следующие свойства шейдера:

_MyColor ("Some Color", Color) = (1,1,1,1) 
_MyVector ("Some Vector", Vector) = (0,0,0,0) 
_MyFloat ("My float", Float) = 0.5 
_MyTexture ("Texture", 2D) = "white" {} 
_MyCubemap ("Cubemap", CUBE) = "" {} 

будет объявлено для доступа в коде Cg/HLSL как:

fixed4 _MyColor; // low precision type is usually enough for colors
float4 _MyVector;
float _MyFloat; 
sampler2D _MyTexture;
samplerCUBE _MyCubemap;

Cg/HLSL может также принимать униформное ключевое слово, но это не обязательно:

uniform float4 _MyColor;

Типы свойств в ShaderLab отображаются в Cg/HLSL переменных типов следующим образом:

  • Отображение свойств цвета и вектора на переменные float4 (плавающий), half4 или fixed4.
  • Отображение свойств диапазонов и Float на поплавок, half или fixed переменные.
  • Сопоставление свойств текстуры sampler2D переменные для обычных (2D) текстур; samplerCUBE; и 3D текстуры отображаются на sampler3D.

Цветовые пространства и данные цветовых/векторных шейдеров

При использовании Линейное цветовое пространство, все свойства цвета материала поставлены как sRGB цветов, но преобразуются в линейные значения при передаче в шейдеры.

Например, если ваш блок шейдера Свойства содержит свойство Color под названием “MyColor”, то соответствующая переменная ”MyColor” HLSL получит значение линейного цвета.

Для свойств, которые помечены как Float или Vector типа, по умолчанию не производится преобразование цветового пространства; предполагается, что они содержат данные, не относящиеся к цвету. [Gamma] атрибут для свойств float/vector, чтобы указать, что они указаны в sRGB пространства, как и цвета (см. Свойства).

Дополнительные ресурсы