public void UpdateMesh()
    {
        Triangulator sc = GetComponent <Triangulator>();

        if (sc != null)
        {
            int        numberOfPoints = sc.GetNumberOfPoints();
            Vector3[]  vertices;
            MeshFilter mf;
            Mesh       mesh;
            mf       = GetComponent <MeshFilter>();
            mesh     = mf.mesh;
            vertices = new Vector3[numberOfPoints];

            Vector2[] uvs = new Vector2[numberOfPoints];

            //  int[] triangles = new int[(numberOfPoints - 2) * 3];
            int[] triangles = new int[(numberOfPoints) * 3];
            triangles = sc.GetTriangulatorIdxs();

            mesh.vertices  = sc.GetVertices();
            mesh.triangles = triangles;
            mesh.uv        = MyVector3Extension.ToVector2Array(mesh.vertices);
            UnityEditor.MeshUtility.Optimize(mesh);
            mesh.RecalculateNormals();

            for (int i = 0; i < mesh.vertices.Length; i++)
            {
                Debug.Log("generator vert:" + mesh.vertices[i]);
            }
            Debug.Log(mesh.vertices.Length.ToString() + " mesh.ver len");
        }
    }
예제 #2
0
 public Line(Color drawnColour, Vector3[] positions)
 {
     Colour               = drawnColour;
     Positions            = positions;
     PositionsForDatabase = MyVector3Extension.toVector2(positions);
     SerializePositions();
     colour.x = Colour.r;
     colour.y = Colour.g;
     colour.z = Colour.b;
 }
예제 #3
0
    private void DrawLine()
    {
        lineRenderer.useWorldSpace   = false;
        lineRenderer.material        = new Material(Shader.Find("Sprites/Default"));
        lineRenderer.widthMultiplier = 0.1f;
        lineRenderer.positionCount   = 20;

        var points = new Vector3[20];

        for (int i = -10; i < 10; i++)
        {
            float y = ((((float)i) / 2.5f * (((float)i) / 2.5f) * (xTwo)) + (((float)i) / 2.5f * xOne) + xZero);
            points[i + 10] = new Vector3(((float)i) / 2.5f, y, -10f);
            Debug.Log(points[i + 10]);
        }
        lineRenderer.SetPositions(points);
        Vector2[] v2 = MyVector3Extension.ToVector2Array(points);
        edgeColl.points = v2;
    }