Unity如何让摄像机发射射线并能检测射线是否遇到碰撞体?有完整代码吗?
时间: 2024-05-05 11:18:38 浏览: 120
带缓冲的镜头拉近效果.txt
4星 · 用户满意度95%
可以使用Unity中的Raycast函数进行射线检测,示例代码如下:
```
void Update() {
if (Input.GetMouseButtonDown(0)) {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo)) {
Debug.Log("Hit " + hitInfo.collider.gameObject.name);
}
}
}
```
其中,Input.GetMouseButtonDown(0)检测鼠标左键是否按下,Camera.main获取摄像机对象,ScreenPointToRay函数将屏幕坐标映射为一条从摄像机发射的射线,Physics.Raycast函数进行射线检测,如果检测到碰撞体,则返回碰撞信息,可以根据需要获取碰撞体对象的信息。
阅读全文