Unity纹理不生成

时间:2018-11-19 12:29:57

标签: c# unity3d perlin-noise

我在Unity中遇到问题,其中网格显示为完全黑色。这是设置纹理的C#代码:

public void GenerateMap()
{
    float[,] noiseMap = GenerateMapData();
    Texture2D colorMap = TextureGenerator.GenerateColorMap(noiseMap, mapWidth, mapHeight);

    Mesh mesh = new Mesh();

    mesh = MeshGenerator.GenerateMesh(noiseMap, mapHeight, mapWidth);
    meshFilter.sharedMesh = mesh;

    meshRenderer.sharedMaterial.mainTexture = colorMap;
    meshRenderer.transform.localScale = new Vector3(colorMap.width, 1, colorMap.height);
}

生成网格很好,但是没有出现纹理。应用于网格的材料是称为“网格”的标准材料,其平滑度设置为零。总体项目是Perlin噪声地形生成器。 colorMap是正确的,因为我可以使用以下方法将其应用于平面:

textureRender.sharedMaterial.mainTexture = colorMap;
textureRender.transform.localScale = new Vector3(colorMap.width, 1, colorMap.height);

任何帮助将不胜感激。

不,我没有忘记uvs:

uvs[currentVertex] = new Vector2(x / width, z / height);

Mesh mesh = new Mesh
    {
        vertices = vertices,
        triangles = triangles,
        uv = uvs
    };

    mesh.RecalculateNormals();

0 个答案:

没有答案