失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Unity 屏幕坐标转世界坐标 世界坐标转屏幕坐标

Unity 屏幕坐标转世界坐标 世界坐标转屏幕坐标

时间:2023-10-15 18:20:52

相关推荐

Unity 屏幕坐标转世界坐标  世界坐标转屏幕坐标

一.屏幕转世界

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 屏幕坐标转世界坐标 世界坐标转屏幕坐标》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。