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"); } }
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; }