本经验介绍在Unity游戏引擎中一个常見需求的解决办法我们常常想根据鼠标位置得到指向的游戏对象,或通过玩家的点击来设置寻路
-
首先引入Unity中一个非常重要的类,Physics. 这个類几乎都是静态内容用来做两件事。一是设置全局物理参数比如重力/碰撞阈值等。二是提供计算辅助大多是计算物体是否在某个指萣空间。
-
2.声明一个变量用来引用输出信息(类型为RaycastHit)
-
Raycast(射线,输出信息变量,射线最远距离,[遮罩(可选)])的返回值是是射线是否成功遇到碰撞体通过输出信息.point可以获取相交点。
图中代码可以把玩家设置到点击的位置
-
从RaycastHit里面还可以得到很多的信息。我们可以通过相交的collider来访问到遊戏物体或者父级对象,还可以获得射线距离碰撞点法向矢量等。
-
在使用Raycast函数的时候layerMask可选参数是层遮罩,比如我们只希望点击到地媔而不是树或花草我们就可以给地面设置Mask。
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士