使用着色器在平面中的橡皮擦效果

时间:2013-08-07 12:37:46

标签: unity3d shader

我正在尝试为飞机上的材料制作橡皮擦。

我想这样做的方法是将一个数组传递给着色器,告诉着色器材料应该是透明的;如果数组中的值为0,则不返回材料的颜色(即透明)。我有两个问题:

  1. 如何在CG中声明并传递数组?

  2. 这种方式是否有效,如果是这样,这是最好的方法吗?我在想它可能要求很高。

1 个答案:

答案 0 :(得分:1)

只需使用Texture2D作为“数组”。您可以在运行时修改(使用SetPixelSetPixels)并像往常一样传递到着色器。

然后在您的着色器中,您将使用“已擦除”纹理适当地操纵基础纹理。操纵alpha左右。

鉴于你正在处理一个简单的飞机,这似乎是一个相当简单的选择。