Зачем вы делаете машине больно?
А по теме:
Не понял, что должен делать ваш шейдер, но цвет берётся откуда надо.
Затемняется весь материал потому, что вы
перемножаете две текстуры, и, ясное дело, что затемняя одну из текстур, затемняется и другая.
Если в строке 90 поменять
o.Albedo = VinylDiffuse * Diffuse на
o.Albedo = VinylDiffuse + Diffuse, то работает.
Однако, еще раз повторю, я не знаю, что должен делать ваш шейдер, и этого ли вы добивались?
Как заставить вторую текстуру быть прозрачной согласно альфа каналу текстуры.
|
Можно брать значение альфы текстуры для определения, так сказать, "силы наложениия". Чем прозрачнее, тем меньше яркость пикселя.
Как-то так
float4 VinylDiffuse = (((_VinylColor * (specularmask) )* Tex3) + (Tex3 * (1 - specularmask)))
*Tex3.a;