着色器结合两个精灵

时间:2014-04-03 12:51:54

标签: unity3d shader sprite

我有两个精灵,我需要将它们合并到 one 中。我有一个使用 Shaderlab 语法的着色器,它适用于普通纹理,但SpireRenderer会发出关于它是固定功能着色器的警告,而且它不适用于{{1} }。

这是我的目标: enter image description here

因此,有一个用于背景的基础精灵和用于最终外观的图像精灵。使用ShaderLab,我可以使用“组合纹理”来执行此操作,但我不知道如何或是否可以使用CG。

1 个答案:

答案 0 :(得分:0)

混合可以像这样工作:

fixed4 bg = tex2D(_BackgroundSprite, IN.uv);
fixed4 fg = tex2D(_ForegroundSprite, IN.uv);

fixed3 col = fixed3(fg.rgb * fg.a + bg.rgb * bg.a * (1 - fg.a));
return fixed4(col, fg.a + fg.b * (1 - fg.a));