У меня проблема в 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[currentVertex] = new Vector2(x / width, z / height);
Mesh mesh = new Mesh
{
vertices = vertices,
triangles = triangles,
uv = uvs
};
mesh.RecalculateNormals();