Маска поверx основной текстуры

Шейдеры и все-все-все.

Маска поверx основной текстуры

Сообщение Visochestvo 28 апр 2017, 22:38

Недавно начал работать над шейдерами.
Как наложить маску текстуру поверх основной базовой текстуры, но при этом с разными цветами, у основой текстуры и у маски. Допустим темные цвета этот прозрачные места и должно быть видно основную текстуру.
Получается так что накладываются текстуры правильно, но смешиваются цвета и получается неправильно.

Синтаксис:
Используется glsl
void surf (Input IN, inout SurfaceOutput o) {

 float4 tex = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 float4 mask = tex2D(_Mask, IN.uv_Mask) * _MaskColor;
 float4 Specular = _Shininess;

 float4 Diffuse = tex + mask * _Intensity;
 o.Albedo = Diffuse;
 o.Specular = Specular;
}


Изображение
Visochestvo
UNIверсал
 
Сообщения: 370
Зарегистрирован: 01 фев 2014, 14:11

Re: Маска поверx основной текстуры

Сообщение waruiyume 28 апр 2017, 23:33

Синтаксис:
Используется glsl
void surf (Input IN, inout SurfaceOutput o)
{
 float4 tex = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 fixed mask = tex2D(_Mask, IN.uv_Mask).r ;
 float4 Specular = _Shininess;

 float4 Diffuse = lerp(tex, _MaskColor, mask * _Intensity);
 o.Albedo = Diffuse;
 o.Specular = Specular;
}
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 4577
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Маска поверx основной текстуры

Сообщение Visochestvo 29 апр 2017, 00:30

waruiyume писал(а):
Синтаксис:
Используется glsl
void surf (Input IN, inout SurfaceOutput o)
{
 float4 tex = tex2D(_MainTex, IN.uv_MainTex) * _Color;
 fixed mask = tex2D(_Mask, IN.uv_Mask).r ;
 float4 Specular = _Shininess;

 float4 Diffuse = lerp(tex, _MaskColor, mask * _Intensity);
 o.Albedo = Diffuse;
 o.Specular = Specular;
}

Точно, респект :-bd
осталось убрать Specular из маски что бы была только на основной текстуре
Visochestvo
UNIверсал
 
Сообщения: 370
Зарегистрирован: 01 фев 2014, 14:11


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4