在unity中射线检测是经常用到的,今天记录3种不同的射线发射的位置
public Transform pos;
void Update()
{
if(Input.GetMouseButtonDown(0))
{
RaycastHit hit;
//从摄像机发射一条射线
//Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
//if (Physics.Raycast(ray,out hit))
//{
//}
//从某个位置发射一条射线
//if(Physics.Raycast(pos.position, pos.forward, out hit))
//{
//}
//从屏幕中间向前发射一条射线
//Vector2 pos2 = new Vector3(Screen.width * 0.5f, Screen.height * 0.5f);
//if (Physics.Raycast(pos2, transform.forward, out hit))
// {
//}
}
}
这三条射线分别是从摄像机,某个位置,屏幕中间发射