private void Update() { if (cubes == null) { return; } if (Math.Abs(cubes.Hash - lastHash) > Mathf.Epsilon) { lastHash = cubes.Hash; cubes.ComputeMetaBalls(); ReDraw(); return; } if (Application.isPlaying) { movement += Time.deltaTime; if (cubes.metaBalls.metaPoints.Count > 0) { cubes.metaBalls.MoveBall(0, new Vector3(Mathf.Cos(movement), Mathf.Sin(movement), Mathf.Cos(movement * 2)) * 0.1f); } if (cubes.metaBalls.metaPoints.Count > 1) { cubes.metaBalls.MoveBall(1, new Vector3(Mathf.Sin(movement), Mathf.Cos(movement), Mathf.Sin(movement * 2)) * 0.1f); } ReDraw(); } if (Math.Abs(iso - cubes.iso) > 0.0001f) { cubes.iso = iso; ReDraw(); } //if(taskQueued&&taskDone) //{ // taskQueued = false; //} }