protected override void OnPopulateMesh(UnityEngine.UI.VertexHelper toFill) { base.OnPopulateMesh (toFill); var rect = parentRectTransform.rect; var vertices = new List<UIVertex> (4); toFill.GetUIVertexStream (vertices); for (var i = 0; i < points.Length; i++) { var point = points [i]; var ray = gameCamera.ViewportPointToRay (point); RaycastHit hit; if (Physics.Raycast (ray, out hit, gameCamera.farClipPlane, groundLayer)) { var transformedPosition = minimapCamera.WorldToViewportPoint (hit.point); // if (vertices.Count == 36) { // foreach (var j in correspondences[i]) { // var vertex = vertices [j].position; // vertex.x = vertex.x * transformedPosition.x; // vertex.y = vertex.y * transformedPosition.y; // vertices [j].position = vertex; // } // } else { var vboPoint = vertices [i].position; vboPoint = new Vector3 (transformedPosition.x * rect.width, transformedPosition.y * rect.height, 0f); var uiPoint = vertices [i]; uiPoint.position = vboPoint; vertices [i] = uiPoint; toFill.SetUIVertex (vertices [i], i); // } } } }