unity关于射线
ray 表示射线。
射线是一条从原点(origin)向指定方向(direction)无限延长的直线
先来看一下从摄像机发出一条射线的例子
void Update() {
//按下滑鼠左键
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机上鼠标的位置发出一条射线
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
{
GameObject gameObj = hitInfo.collider.gameObject;
if (gameObj != null)
{
Debug.DrawLine(ray.origin, hitInfo.point, Color.red);//划出射线,在scene视图中能看到由摄像机发射出的射线
}
}
}
}
效果图