Unity Shader覆盖网格UV。我该如何解决?

时间:2014-04-12 23:04:40

标签: unity3d textures shader mesh terrain

我有一个由四个网格组成的地形。对于这些网格,我添加了一个单独的纹理,并为每个网格创建了单独的UV贴图。一切都很好,但是当我尝试应用着色器时:

 Shader.Find( "Transparent/Bumped Diffuse" ); 

,它为其中一个网格创建了一个良好的纹理,这个网格重复其他网格。我该如何解决这个问题?如何通过代码激活纹理的透明度呢?

以下是代码:

             for (int i=0; i<4; i++) {

                    myWaterMesh[i]  = new Mesh();
            myWater[i]      = new GameObject();
            myWater[i].name = "Water";

            myWater[i].AddComponent<MeshFilter>  ().mesh = myWaterMesh[i];
            myWater[i].AddComponent<MeshRenderer>();

            myWaterMesh[i].vertices  = verticesWater[i];
            myWaterMesh[i].triangles = triangles;
            myWaterMesh[i].uv        = uv[i];
            myWaterMesh[i].RecalculateNormals();

            //Apply texture and transparent shader
            myWater[i].renderer.material.mainTexture = waterMap;

            Shader myShader = Shader.Find( "Transparent/Bumped Diffuse" );

            myWater[i].renderer.material.shader = myShader;

        }

0 个答案:

没有答案