public void ChangeLOD(IcoSphere lodSphere, int resolution, bool flatShading) { current = lodSphere; if (lodSphere == null && resolution < 6) { lodSphere = LODs[resolution] = new IcoSphere(resolution, octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); lodSphere.mesh = MeshGenerator.GenerateMesh(lodSphere, flatShading); } else if (lodSphere.mesh == null && resolution < 6) { lodSphere.Recreate(octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); lodSphere.mesh = MeshGenerator.GenerateMesh(lodSphere, flatShading); } GetComponent <MeshFilter> ().mesh = lodSphere.mesh; //GetComponent<MeshCollider>().sharedMesh = mesh; //animator.SetTrigger ("Grow"); }
public void CreatePlanet() { if (randomSeed) { seed = (int)System.DateTime.Now.Ticks; } Random.InitState(seed); //scale = Random.Range (0.5f, 1.5f); if (icosphere == null) { icosphere = new IcoSphere(subdivisions, octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); } else { icosphere.Recreate(octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); } icosphere.mesh = MeshGenerator.GenerateMesh(icosphere, flatShading); GetComponent <MeshFilter>().mesh = icosphere.mesh; //GetComponent<MeshCollider>().sharedMesh = mesh; foreach (IcoSphere LOD in LODs) { if (LOD != null) { LOD.mesh = null; } } if (LODs [3] == null) { LODs [3] = new IcoSphere(3, octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); } else { LODs[3].Recreate(octaves, persistance, lacunarity, scale, heightCurve, heighMultiplyer, variableMaxHeight, seed); } current = icosphere; LODs[3].mesh = MeshGenerator.GenerateMesh(LODs [3], true); GetComponent <MeshCollider> ().sharedMesh = LODs[3].mesh; animator.SetTrigger("Grow"); }