【Unity笔记】获得鼠标点击屏幕的位置,并转成世界坐标
时间: 2024-02-27 17:54:58 浏览: 83
要获取鼠标点击屏幕的位置并将其转换为世界坐标,可以使用以下代码:
```
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Vector3 worldPos = hit.point;
// 处理获得的世界坐标
}
}
```
在这个代码中,我们首先使用 `Input.GetMouseButtonDown` 检测是否有鼠标按键按下。接着,我们使用 `Camera.main.ScreenPointToRay` 将鼠标点击位置转换为一条射线。然后,我们使用 `Physics.Raycast` 检测这条射线是否与任何物体相交,如果有相交的物体,则将其信息存储在 `RaycastHit` 变量 `hit` 中。最后,我们可以使用 `hit.point` 来获取相交的点的世界坐标。
注意,这段代码必须放在 `Update` 函数中才能实时获取鼠标点击事件。另外,需要确保相机的位置和方向正确,以便正确地将屏幕坐标转换为世界坐标。
阅读全文