DrawQuads() публичный статический Метод

public static DrawQuads ( Vector3 verts, float width ) : void
verts UnityEngine.Vector3
width float
Результат void
Пример #1
0
        public static void DrawQuads(Vector3[] verts, float width)
        {
            if (verts.Length >= 16250)
            {
                Vector3[] array = new Vector3[verts.Length - 16250];
                for (int i = 16250; i < verts.Length; i++)
                {
                    array[i - 16250] = verts[i];
                }
                Vector3[] array2 = new Vector3[16250];
                for (int j = 0; j < 16250; j++)
                {
                    array2[j] = verts[j];
                }
                DebugUtility.DrawQuads(array, width);
                verts = array2;
            }
            width /= 2f;
            Vector3[] array3 = new Vector3[verts.Length * 4];
            int[]     array4 = new int[verts.Length * 6];
            for (int k = 0; k < verts.Length; k++)
            {
                Vector3 vector = verts[k];
                int     num    = k * 4;
                array3[num]     = vector + new Vector3(-width, 0f, -width);
                array3[num + 1] = vector + new Vector3(-width, 0f, width);
                array3[num + 2] = vector + new Vector3(width, 0f, width);
                array3[num + 3] = vector + new Vector3(width, 0f, -width);
                int num2 = k * 6;
                array4[num2]     = num;
                array4[num2 + 1] = num + 1;
                array4[num2 + 2] = num + 2;
                array4[num2 + 3] = num;
                array4[num2 + 4] = num + 2;
                array4[num2 + 5] = num + 3;
            }
            Mesh mesh = new Mesh();

            mesh.name      = "DebugUtility_Mesh";
            mesh.vertices  = array3;
            mesh.triangles = array4;
            mesh.RecalculateNormals();
            mesh.RecalculateBounds();
            GameObject   gameObject   = new GameObject("DebugMesh");
            MeshRenderer meshRenderer = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer;

            meshRenderer.material = DebugUtility.active.defaultMaterial;
            (gameObject.AddComponent(typeof(MeshFilter)) as MeshFilter).mesh = mesh;
        }