- public static Vector3 WorldToUI(Camera camera,Vector3 pos){
- CanvasScaler scaler = GameObject.Find("UIRoot").GetComponent<CanvasScaler>();
- float resolutionX = scaler.referenceResolution.x;
- float resolutionY = scaler.referenceResolution.y;
- Vector3 viewportPos = camera.WorldToViewportPoint(pos);
- Vector3 uiPos = new Vector3(viewportPos.x * resolutionX - resolutionX * 0.5f,
- viewportPos.y * resolutionY - resolutionY * 0.5f,0);
- return uiPos;
- }
- public static Vector2 WorldToUIPoint(Transform worldGo)
- {
- Vector2 pos;
- RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform,
- gameCamera.WorldToScreenPoint(worldGo.transform.position), canvas.worldCamera, out pos);
- RectTransform rect = transform.transform as RectTransform;
- rect.anchoredPosition = pos;
- return pos;
- }
世界坐标转到UGUI坐标
最新推荐文章于 2024-02-24 18:00:10 发布