欢迎光临散文网 会员登陆 & 注册

unity屏幕坐标和世界坐标转换问题

2023-04-16 17:31 作者:南桥思休  | 我要投稿

unity屏幕坐标和世界坐标转换在射线检测代码影响

红色标记的物体在屏幕的位置如上图

这里加上一个2d射线检测的代码:


这里我画了一个视线,以及打印物体到摄像机的距离是127

   设置 mousePos.z = 1000(> far: 582.62且远大于摄像机到红色物体的距离127);这时候我们点击红色物体没有反应

   同理,设置 mousePos.z < 40.86 也会没有反应

当我们设置 mousePos.z = 127,检测就能顺利执行并且打印了物体的名称。

所以3d空间中,当从屏幕坐标转世界坐标的时候注意我们的 mousePos.z 的范围;不然检测物体会出现各种问题。

判断UI上是否有物体

这里我们还写了一个代码:

用于判断UI上是否有物体

这里设置Canvas的Blocking Object为All;Blocking Mask为Everything,那么物体如果在UI范围内射线会被阻挡

当红色物体在canvas的屏幕范围外,我们点击物体会被检测,反之则不能

unity屏幕坐标和世界坐标转换问题的评论 (共 条)

分享到微博请遵守国家法律