Physics.Raycast方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Physics.Raycast方法相关的知识,希望对你有一定的参考价值。
参考技术A 为实现鼠标控制人物转向,必须用到Ray相关函数,其中Physics.Raycast方法用途如下:Physics.Raycast(ray , out rayHit , 100 , LayerMaskFloor);
//该方法return一个bool值。ray代表射线,out rayHit为射线碰撞点,100为射线长度,LayerMaskFloor为检测碰撞层(int 值),下面就开始创造这些参数
private int LayerMaskFloor;//定义一个int变量
LayerMaskFloor = LayerMask.GetLayer("Floor");//LayerMask.GetLayer返回一个int值,即为Floor层所在的数字,至此LayerMaskFloor创建完毕
Ray ray = Camera.Main.ScreenPointToRay(Input.mouseposition);//用于获取鼠标在世界坐标中的位置(屏幕坐标),ray获取完毕
RaycastHit rayHit;//用于获取射线的点的信息,rayHit获取完毕
下面可以对碰撞进行判断
if (Physics.Raycast(ray , out rayHit , 100 , LayerMaskFloor))
Vector3 lookAtPoint = rayHit.point;
transform.LookAt = lookAtPoint;
以上是关于Physics.Raycast方法的主要内容,如果未能解决你的问题,请参考以下文章
Unity Physics.Raycast 似乎无法正确检测到它击中的对象
带有 LayerMask 的 Unity Physics.Raycast 不会检测图层上的对象。使用了位移,尝试了反相层,仍然没有任何效果