Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);//发出射线获取鼠标点击的位置
RaycastHit hit;//声明一个RaycastHit类型的变量用来存储碰到的信息
Physics.Raycast(ray, out hit);//获取射线碰到的物体的碰撞信息
Physics.Raycast(ray, Mathf.Infinity, LayerMask.GetMask("Enemy1", "Enemy2", "UI"));//第一个参数是射线,第二个参数是距离,第三个参数是LayerMask.GetMask需要进行射线检测的layer层。
hit.collider获取碰撞到的碰撞器,将collider换成其他组件的名称也可以获取其他组件
hit.point获取发生碰撞的位置
Raycast只检测碰撞到的第一个物体,返回值是一个RaycastHit,RaycastAll检测碰撞到的所有物体,返回值是一个RaycastHit数组。