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

Unity3d 使用着色器的平面中的橡皮擦效果,unity3d,shader,Unity3d,Shader,我正试图为飞机上的材料制作一块橡皮擦 我想这样做的方式是通过向着色器传递一个数组,告诉着色器材质应该透明的位置;如果数组中的值为0,则不返回材质的颜色(即tranparent)。我有两个问题: 如何在CG中声明和传递数组 这种方法有效吗?如果有效,这是最好的方法吗?我想这可能要求很高 只需使用纹理2D作为“数组”。可以在运行时修改(使用或)并像通常那样传递到着色器 然后在着色器中,使用“擦除”纹理适当地操纵基础纹理。操纵阿尔法左右 考虑到您正在处理一个简单的平面,这似乎是一个相当简单的选择

我正试图为飞机上的材料制作一块橡皮擦

我想这样做的方式是通过向着色器传递一个数组,告诉着色器材质应该透明的位置;如果数组中的值为0,则不返回材质的颜色(即tranparent)。我有两个问题:

  • 如何在CG中声明和传递数组

  • 这种方法有效吗?如果有效,这是最好的方法吗?我想这可能要求很高


  • 只需使用纹理2D作为“数组”。可以在运行时修改(使用或)并像通常那样传递到着色器

    然后在着色器中,使用“擦除”纹理适当地操纵基础纹理。操纵阿尔法左右

    考虑到您正在处理一个简单的平面,这似乎是一个相当简单的选择