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