- Home /
This question was
closed Jul 06, 2014 at 11:27 PM by
meat5000 for the following reason:
The question is answered, right answer was accepted
Creating a randomly generated texture on a plane.
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.
Comment
Best Answer
Answer by godkane · Jul 06, 2014 at 11:27 PM
I missed t2.Apply() before setting texture to mainTexture.
Follow this Question
Related Questions
Procedural Mesh UVs Edge Case? 1 Answer
Texturing part of an object 1 Answer
Randomize texture within prefab 0 Answers