Physics.Raycast方法

为实现鼠标控制人物转向,必须用到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方法)