forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Эффекты/Шейдеры (http://forum.boolean.name/forumdisplay.php?f=170)
-   -   Две текстуры (http://forum.boolean.name/showthread.php?t=18738)

pie 24.11.2013 16:27

Две текстуры
 
Здравствуйте!
Есть вот такой шейдер: http://pastebin.com/75Wp7HTq
Комментами выделены те места которые я добавил.
Я хотел сделать чтобы текстура _VinylTex использовала цвет _VinylColor. Но в итоге получается что цвет берется из _Color. И дополнительно. Как заставить вторую текстуру быть прозрачной согласно альфа каналу текстуры.

PassCall 03.01.2014 18:13

Ответ: Две текстуры
 

Цитата:

Shader "Car/CarPain2"
Зачем вы делаете машине больно?


А по теме:
Не понял, что должен делать ваш шейдер, но цвет берётся откуда надо.
Затемняется весь материал потому, что вы перемножаете две текстуры, и, ясное дело, что затемняя одну из текстур, затемняется и другая.

Если в строке 90 поменять o.Albedo = VinylDiffuse * Diffuse на o.Albedo = VinylDiffuse + Diffuse, то работает.
Однако, еще раз повторю, я не знаю, что должен делать ваш шейдер, и этого ли вы добивались?

Цитата:

Как заставить вторую текстуру быть прозрачной согласно альфа каналу текстуры.
Можно брать значение альфы текстуры для определения, так сказать, "силы наложениия". Чем прозрачнее, тем меньше яркость пикселя.
Как-то так

float4 VinylDiffuse = (((_VinylColor * (specularmask) )* Tex3) + (Tex3 * (1 - specularmask)))*Tex3.a;


Часовой пояс GMT +4, время: 03:10.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot