public static GameObject CreatePlanet(Vector3 _position, int _seed, PlanetType _planetType) { GameObject planetObject = new GameObject("Planet"); planetObject.transform.position = _position; //planetObject.transform.parent = transform; //newPlanet.AddComponent<Planet> (); int size = Random.Range(3, 10); planetObject.transform.localScale = new Vector3(size, size, size); /// planet = newPlanet.GetComponent<Planet> (); int pixWidth = 256; int pixHeight = 256; int scale = 6; float xOrg = 0; float yOrg = 0; //planetMesh = SolarBodyGeneration.GetSphereMesh (); planetObject.AddComponent <MeshFilter> ().mesh = SolarBodyGeneration.GetSphereMesh(); MeshRenderer mr = planetObject.AddComponent <MeshRenderer> (); mr.material.mainTexture = Noise.CalculateSeamlessNoise(pixWidth, pixHeight, scale, xOrg, yOrg, _seed, PlanetColour.GetPlanetColour(_planetType)); // if (_planetType == PlanetType.Molten) { // planetObject.GetComponent<MeshRenderer> ().material.EnableKeyword ("_EMISSION"); // planetObject.GetComponent<MeshRenderer> ().material.SetTexture ("_EmissionMap", Noise.CalculateSeamlessNoise (pixWidth, pixHeight, scale, xOrg, yOrg, _seed, PlanetColour.GetPlanetColour (_planetType))); // planetObject.GetComponent<MeshRenderer> ().material.SetColor ("_EmissionColor", new Color(0.5f,0.5f,0.5f)); // planetObject.GetComponent<MeshRenderer> ().material.SetFloat ("_Metallic", 1); // planetObject.GetComponent<MeshRenderer> ().material.SetFloat ("_Glossiness", 1); // } if (_planetType != PlanetType.Molten) { //cloud = new Clouds[numberOfCloudLayers]; } return(planetObject); }
public static GameObject CreateMoon() { GameObject moonObject = new GameObject("Moon"); //moonObject.transform.position = MoonPoint(0) + planetObject.transform.position; float sizeM = Random.Range(0.5f, 2.0f); moonObject.transform.localScale = new Vector3(sizeM, sizeM, sizeM); //moonObject.transform.parent = planetObject.transform; //newPlanet.AddComponent<Planet> (); /// planet = newPlanet.GetComponent<Planet> (); int pixWidthM = 128; int pixHeightM = 128; int scaleM = 4; float xOrgM = 0; float yOrgM = 0; int seedM = Random.Range(0, 999); //planetMesh = SolarBodyGeneration.GetSphereMesh (); moonObject.AddComponent <MeshFilter> ().mesh = SolarBodyGeneration.GetSphereMesh(); MeshRenderer mr = moonObject.AddComponent <MeshRenderer> (); mr.material.mainTexture = Noise.CalculateSeamlessNoise(pixWidthM, pixHeightM, scaleM, xOrgM, yOrgM, seedM, PlanetColour.GetPlanetColour((PlanetType)Random.Range(0, 15))); return(moonObject); }