I am trying to create a generated textured mesh (Plane), the issue is that when I do the following code in the start function:
var plane = GetComponent<MeshFilter>();
Texture2D t2 = new Texture2D(10, 10);
for (int x = 0; x < t2.width; x++)
{
for (int y = 0; y < t2.height; y++)
{
float r = Random.Range(0f, 0f);
float g = Random.Range(0f, 0f);
float b = Random.Range(0f, 1f);
t2.SetPixel(x, y, new Color(r, g, b) );
}
}
byte[] bytes = t2.EncodeToPNG();
File.WriteAllBytes(Application.dataPath + "/Resources/Testing2.png", bytes);
plane.renderer.material.mainTexture = t2;
The texture is written out to the file correctly and if I restart with this texture it is correct, but when I don’t restart, the texture on the material is a static off white. Any ideas what I’m doing wrong?
I have had some luck writing the texture to a file than using the Resource.Load, but that will not work on other platforms.