Лучший способ отобразить 2D-фигуру из x, y позиции единицы - PullRequest
0 голосов
/ 02 июля 2018

Я хотел бы найти лучший способ (или, по крайней мере, рабочий способ) для отображения в моем пользовательском интерфейсе пользовательской 2D-фигуры с позиции всех ее точек.

Я пробовал: - создать сетку (используя скрипт триангулятора для преобразования my (x, y) в вершины + треугольники, с помощью средства рендеринга сетки и фильтра сетки. Кажется, что это работает, но оно не отображается в моем пользовательском интерфейсе, даже если его родитель является холст (наложение экрана). - Создание Canvasrenderer и установка моего меша внутри него с помощью SetMesh, но, похоже, ничего не отображается. Вот мой код, если это хороший способ сделать это:

GameObject shapeChild = new GameObject();
            var shapeChildMeshRenderer = shapeChild.AddComponent<CanvasRenderer>();
            shapeChildMeshRenderer.SetMaterial(material, null);


            // Use the triangulator to get indices for creating triangles
            Triangulator tr = new Triangulator(part.Points);
            int[] indices = tr.Triangulate();

            // Create the Vector3 vertices
            Vector3[] vertices = new Vector3[vertices2D.Length];
            for (int i = 0; i < vertices.Length; i++)
            {
                vertices[i] = new Vector3(vertices2D[i].x, vertices2D[i].y, 0);
            }

            // Create the mesh
            Mesh _mesh = new Mesh();
            _mesh.vertices = vertices;
            _mesh.triangles = indices;
            _mesh.RecalculateNormals();
            _mesh.RecalculateBounds();

            shapeChildMeshRenderer.SetMesh(_mesh);

            shapeChild.transform.SetParent(this.transform);

Я бы хотел сохранить настройку наложения экрана.

Как лучше всего отобразить мой многоугольник в оверлейном интерфейсе?

...