unity获得鼠标点击物体
时间: 2023-09-27 10:04:03 浏览: 47
在Unity中,可以使用以下代码来检测鼠标点击物体:
```csharp
void Update()
{
if (Input.GetMouseButtonDown(0)) //当鼠标左键被按下
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //从摄像机发射一条射线,射线起点为摄像机位置,方向为鼠标点击位置与摄像机位置的向量
RaycastHit hit;
if (Physics.Raycast(ray, out hit)) //检测射线是否碰撞到物体
{
if (hit.collider.gameObject == gameObject) //检测是否点击的是当前物体
{
//执行点击物体后的操作
}
}
}
}
```
在上述代码中,首先通过`Input.GetMouseButtonDown(0)`检测鼠标是否左键被按下,如果是则使用`Camera.main.ScreenPointToRay(Input.mousePosition)`获取从摄像机发射的射线。然后使用`Physics.Raycast(ray, out hit)`检测射线是否碰撞到物体,如果是则使用`hit.collider.gameObject`获取被碰撞的物体,并判断是否是当前脚本所在的物体。如果是,则执行点击物体后的操作。