private void OnDrawGizmos() { Timer timer = new Timer("OnDrawGizmos"); fieldCreator = gameObject.GetComponent <FieldCreator>(); //field = fieldCreator.GeneratePerlinField(); //fieldCreator.DrawFieldGizmo(field); Brush brush = gameObject.GetComponent <Brush>(); fieldCreator.DrawFieldGizmo(brush.CalculateBrushweight(new Vector3Int(field.GetLength(0), field.GetLength(1), field.GetLength(2)))); if (Input.GetMouseButton(0)) { Debug.Log("Adding Terrain"); field = brush.AddToFieldWeight(field, 1); } if (Input.GetMouseButton(1)) { Debug.Log("Removeing Terrain"); field = brush.AddToFieldWeight(field, -1); } CreateCubes(field); gameObject.GetComponent <MeshFilter>().mesh = GenerateCombinedMesh(); foreach (MarchingCube cube in marchingCubes) { foreach (Vector3 item in cube.IntersectionPoints) { //Gizmos.color = new Color(0, 0, 1, 0.75f); //Gizmos.DrawCube(item, Vector3.one * 0.1f); } } timer.End(); }