// Update is called once per frame void Update() { mc.ListClear(); //if (factor > 1) { inc = false; } //if (factor < -1) { inc = true; } /*if (inc) {*/ factor += Time.deltaTime * 0.4f; keyTimer += Time.deltaTime; //} //else if (!inc) { factor -= 0.005f; } for (int i = 0; i < 40; ++i) { for (int j = 0; j < 40; ++j) { cubeSize = size * 0.5f; key(i, j); if (!MusicOn) { NoiseAnim(i, j); this.GetComponent <AudioSource>().enabled = false; } if (MusicOn) { this.GetComponent <AudioSource>().enabled = true; SoundAnim(i, j); } // top of the cube // t0 is top left point Vector3 t0 = new Vector3(cubeSize.x + size.x * i * 1.2f, coordy, -cubeSize.z + size.z * j * 1.2f); Vector3 t1 = new Vector3(-cubeSize.x + size.x * i * 1.2f, coordy, -cubeSize.z + size.z * j * 1.2f); Vector3 t2 = new Vector3(-cubeSize.x + size.x * i * 1.2f, coordy, cubeSize.z + size.z * j * 1.2f); Vector3 t3 = new Vector3(cubeSize.x + size.x * i * 1.2f, coordy, cubeSize.z + size.z * j * 1.2f); // bottom of the cube Vector3 b0 = new Vector3(cubeSize.x + size.x * i * 1.2f, -cubeSize.y, -cubeSize.z + size.z * j * 1.2f); Vector3 b1 = new Vector3(-cubeSize.x + size.x * i * 1.2f, -cubeSize.y, -cubeSize.z + size.z * j * 1.2f); Vector3 b2 = new Vector3(-cubeSize.x + size.x * i * 1.2f, -cubeSize.y, cubeSize.z + size.z * j * 1.2f); Vector3 b3 = new Vector3(cubeSize.x + size.x * i * 1.2f, -cubeSize.y, cubeSize.z + size.z * j * 1.2f); //Debug.Log(t0); //Debug.Log(Perlin.Noise(t0)); //Debug.Log(Perlin.Noise(100, 100, Random.Range(0, 1000) * 0.1f)); // Top square mc.BuildTriangle(t0, t1, t2); mc.BuildTriangle(t0, t2, t3); // Bottom square mc.BuildTriangle(b2, b1, b0); mc.BuildTriangle(b3, b2, b0); // Back square mc.BuildTriangle(b0, t1, t0); mc.BuildTriangle(b0, b1, t1); mc.BuildTriangle(b1, t2, t1); mc.BuildTriangle(b1, b2, t2); mc.BuildTriangle(b2, t3, t2); mc.BuildTriangle(b2, b3, t3); mc.BuildTriangle(b3, t0, t3); mc.BuildTriangle(b3, b0, t0); } } if (coordy > 20f) { GameObject instR = Instantiate(ring, new Vector3(-50, coordy, 0), Quaternion.identity); Destroy(instR, 5f); if (coordy > 30f) { GameObject instF = Instantiate(firework, new Vector3(-50, coordy, 0), Quaternion.identity); Destroy(instF, 10f); } } meshFilter.mesh = mc.CreateMesh(); }