您的位置:首页 > 移动开发 > Unity3D

视口坐标转世界坐标

2017-08-30 13:17 218 查看
[HideInInspector]
public float leftBorder;
[HideInInspector]
public float rightBorder;
[HideInInspector]
public float topBorder;
[HideInInspector]
public float downBorder;
private float width;
private float height;
void Start()
{
//世界坐标右上角 = 相机右上角 1, 1点转换成的
Vector3 cornerPos = Camera.main.ViewportToWorldPoint(new Vector3(1f, 1f,
Mathf.Abs(-Camera.main.transform.position.z)));
//世界坐标的左上角位置 = 视口坐标x0点位置 - (世界坐标x位置(右上角)-视口坐标0的位置)
leftBorder = Camera.main.transform.position.x - (cornerPos.x - Camera.main.transform.position.x);
rightBorder = cornerPos.x;
topBorder = cornerPos.y;
downBorder = Camera.main.transform.position.y - (cornerPos.y - Camera.main.transform.position.y);

width = rightBorder - leftBorder;
height = topBorder - downBorder;

Debug.Log(cornerPos);
Debug.Log(Camera.main.transform.position.x);
Debug.Log(leftBorder);
Debug.Log(rightBorder);
Debug.Log(topBorder);
Debug.Log(downBorder);
Debug.Log(width);
Debug.Log(height);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity