public Vector3 MapPointToWorldPoint(Vector3 mousePosition) { Rect screenSpaceRect = ZetanUtility.GetScreenSpaceRect(UI.mapRect); Vector3[] corners = new Vector3[4]; UI.mapRect.GetWorldCorners(corners); Vector2 mapViewportPoint = new Vector2((mousePosition.x - corners[0].x) / screenSpaceRect.width, (mousePosition.y - corners[0].y) / screenSpaceRect.height); Vector3 worldPosition = MapCamera.ViewportToWorldPoint(mapViewportPoint); return(use2D ? new Vector3(worldPosition.x, worldPosition.y) : worldPosition); }