手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Unity 如何根据鼠标位置获得物体或世界坐标

时间:2024-10-16 20:20:59

1、首先引入Unity中一个非常重要的类,Physics. 这个类几乎都是静态内容,用来做两件事。一是设置全局物理参数,比如重力/碰撞阈值等。二是提供计算辅助,大多是计算物体是否在某个指定空间。

Unity 如何根据鼠标位置获得物体或世界坐标
Unity 如何根据鼠标位置获得物体或世界坐标

2、我们需要用常用函数Physics.Raycast/Physics.RaycastAll,用来根据一个射线计算射线遇到的碰撞体(单个/多个)信息。

Unity 如何根据鼠标位置获得物体或世界坐标

3、要使用Physics.Raycast巳呀屋饔,准备工作如下。1.从Input.mousePosition获取屏幕中鼠标的位置,用Camera.main的ScreenPointToRay函数将屏幕醐蛑臀谁位置转换为空间射线2.声明一个变量用来引用输出信息(类型为RaycastHit)

Unity 如何根据鼠标位置获得物体或世界坐标

4、Raycast(射线,输出信息变量,射线最远距离,[遮罩(可选)])的返回值是是射线是否成功遇到碰撞体。通过输出信息.point可以获取相交点。图中代码可以把玩家设置到点击的位置。

Unity 如何根据鼠标位置获得物体或世界坐标

5、从RaycastHit里面还可以得到很多的信息。我们可以通过相交的collider来访问到游戏物体,或者父级对象,还可以获得射线距离,碰撞点法向矢量等。

Unity 如何根据鼠标位置获得物体或世界坐标
© 手抄报圈