So I’m trying to make it so that at any one time I have two textures, one that is generated on the previous trigger, and one that is generated on the current trigger. The code for this (stripping out useless parts)
planetTextureTemp = planetTextureTemp2;
planet.GetComponentInChildren<Renderer>().material.mainTexture = planetTextureTemp;
Debug.Log(planetTextureTemp == planetTextureTemp2);
PlanetPicker(false);
Debug.Log(planetTextureTemp == planetTextureTemp2);
And the planet picker code, I’ve stripped out everything not pertaining to this problem.:
switch (planetColour)
{
case 0: //Earth Like Planet
planetTextureTemp2.SetPixel(2, 0, StringToColour(greens[Random.Range(0, greens.Length - 1)])); //Normal Land
planetTextureTemp2.SetPixel(0, 0, StringToColour(blues[Random.Range(0, blues.Length - 1)])); //Water
planetTextureTemp2.SetPixel(0, 1, StringToColour(browns[Random.Range(0, browns.Length - 1)])); //Light Land (Mountain Edge)
planetTextureTemp2.SetPixel(2, 1, StringToColour(browns[Random.Range(0, browns.Length - 1)])); //Inner Crater
planetTextureTemp2.SetPixel(1, 0, StringToColour(greens[Random.Range(0, greens.Length - 1)])); //Beach
planetTextureTemp2.SetPixel(1, 1, StringToColour(greens[Random.Range(0, greens.Length - 1)])); //Outer Crater
planetTextureTemp2.Apply();
//planet.GetComponentInChildren<Renderer>().material.mainTexture = planetTextureTemp;
break;
So my issue is that texture 2 always equals texture 1. Both of those debug logs will evaluate true despite the fact that it sets 1 = 2, then generates a new second one.