Показать сообщение отдельно
Старый 03.01.2014, 18:13   #2
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Две текстуры


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


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

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

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

float4 VinylDiffuse = (((_VinylColor * (specularmask) )* Tex3) + (Tex3 * (1 - specularmask)))*Tex3.a;
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pie (06.01.2014)