Exemplo n.º 1
0
 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");
 }
Exemplo n.º 2
0
    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");
    }