Пример #1
0
    private Mesh GetInteractionMesh(float radius)
    {
        Mesh           result    = new Mesh();
        List <Vector3> vertices  = new List <Vector3>();
        List <int>     triangles = new List <int>();
        Vector3        center    = this.transform.position;
        Vector3        offset    = (Vector3.up * .2f);

        for (int i = 0; i < 6; i++)
        {
            int index = i * 3;
            vertices.Add(center + offset);
            vertices.Add(HexagonPoint.GetCorner(i, radius) + offset);
            vertices.Add(HexagonPoint.GetCorner(i + 1, radius) + offset);

            triangles.Add(index);
            triangles.Add(index + 1);
            triangles.Add(index + 2);
        }

        result.Clear();
        result.vertices  = vertices.ToArray();
        result.triangles = triangles.ToArray();

        return(result);
    }