标签: unity3d shader
我正在尝试为飞机上的材料制作橡皮擦。
我想这样做的方法是将一个数组传递给着色器,告诉着色器材料应该是透明的;如果数组中的值为0,则不返回材料的颜色(即透明)。我有两个问题:
如何在CG中声明并传递数组?
这种方式是否有效,如果是这样,这是最好的方法吗?我在想它可能要求很高。
答案 0 :(得分:1)
只需使用Texture2D作为“数组”。您可以在运行时修改(使用SetPixel或SetPixels)并像往常一样传递到着色器。
然后在您的着色器中,您将使用“已擦除”纹理适当地操纵基础纹理。操纵alpha左右。
鉴于你正在处理一个简单的飞机,这似乎是一个相当简单的选择。