101射线检测之基本使用
射线检测的目的是:检测射线在发射过程中有没有碰撞到有碰撞器的游戏物体
可以判断在射线长度范围内游戏物体的属性
还可以得到射线碰撞的位置(射线检测可以检测2D和3D)
代码:
void Update()
{
Ray ray=new Ray(transform.position+transform.forward,transform.forward);
bool isCollider=Physics.Raycast(ray);
Debug.Log(isCollider);
}
此代码不能判断出碰撞物体以及碰撞位置
102关于2D射线检测和检测碰撞到所有物体
void Update()
{
Ray ray=new Ray(transform.position+transform.forward,transform.forward);
RaycastHit hit;
bool isCollider=Physics.Raycast(ray,out hit);
Debug.Log(isCollider);
Debug.Log(hit.collider);判断出碰撞到哪个碰撞器
//Debug.Log(hit.collider.gameObject);//可以判断出碰撞到哪个游戏物体
Debug.Log(hit.point);//可以判断出碰撞到的点
}
103-关于2D射线检测和检测碰撞到所有物体
同3D,只把3D改成2D即可
104-通过拖拽的方式监听UGUI的事件