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