예제 #1
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();


        switch (terrainEditor.Mode)
        {
        case TerrainEditorMode.VERTEXEDIT:

            if (GUILayout.Button("Set Transform Mode On"))
            {
                terrainEditor.Mode = TerrainEditorMode.TRANFORMEDIT;
                Tools.current      = Tool.Move;
            }
            if (GUILayout.Button("Turn on Add Vertex Mode"))
            {
                terrainEditor.Mode = TerrainEditorMode.ADDVERTEX;
                Tools.current      = Tool.Move;
            }

            break;

        case TerrainEditorMode.ADDVERTEX:

            if (GUILayout.Button("Set Transform Mode On"))
            {
                terrainEditor.Mode = TerrainEditorMode.TRANFORMEDIT;
                Tools.current      = Tool.Move;
            }
            if (GUILayout.Button("Turn off Add Vertex Mode"))
            {
                terrainEditor.Mode = TerrainEditorMode.VERTEXEDIT;
                Tools.current      = Tool.Move;
            }

            break;

        case TerrainEditorMode.TRANFORMEDIT:

            if (GUILayout.Button("Set Transform Mode Off"))
            {
                terrainEditor.Mode = TerrainEditorMode.VERTEXEDIT;
                Tools.current      = Tool.Move;
            }
            if (GUILayout.Button("Turn on Add Vertex Mode"))
            {
                terrainEditor.Mode = TerrainEditorMode.ADDVERTEX;
                Tools.current      = Tool.Move;
            }

            break;
        }

        if (GUILayout.Button("Clear Terrain"))
        {
            terrainEditor.ClearMesh();
            VertexHandleUtility.ClearList();
        }
    }
예제 #2
0
    public Vector3 GetVertexOnClick(Vector3 position)
    {
        if (triangluator == null)
        {
            triangluator = new Triangulator();
        }

        Vector3 V = transform.InverseTransformPoint(new Vector3(position.x, position.y, 1.0f));

        VertexHandle VertHand = VertexHandleUtility.AddToList(V, VertexHandleUtility.VertexList.Count);

        VertHand.CorrectForTransfrom(transform.position);

        GenerateMesh();

        return(V);
    }
예제 #3
0
 private void OnEnable()
 {
     terrainEditor = (TerrainEd)target;
     VertexHandleUtility.Initialize();
 }