一.屏幕转世界
public Transform target;//目标
publicVector3 MyScreenToworld(Vector3 mousepos, Transform targetTransform)
{
//先计算相机到目标的向量
Vector3 dir = targetTransform.position - Camera.main.transform.position;
//计算投影
Vector3 normardir = Vector3.Project(dir, Camera.main.transform.forward);
//计算是节点,需要知道处置屏幕的投影距离
Vector3 worldpos = Camera.main.ScreenToWorldPoint(newVector3(mousepos.x, mousepos.y, normardir.magnitude));
returnworldpos;
}
voidUpdate () {
if(Input.GetMouseButtonDown(0))
{
print(Input.mousePosition);
Vector3 pos= MyScreenToworld(Input.mousePosition, target);
print(pos);
}
}
二. 世界转屏幕
Camera.main.WorldToScreenPoint()
如果觉得《Unity 屏幕坐标转世界坐标 世界坐标转屏幕坐标》对你有帮助,请点赞、收藏,并留下你的观点哦!