unity 获取屏幕坐标
时间: 2024-11-27 08:24:42 浏览: 29
在Unity中,获取屏幕坐标的常用方法是通过`Camera.main.ScreenToWorldPoint`或`Vector3.Scale`配合`Screen.size`属性。以下是两个常见示例:
1. 使用`ScreenToWorldPoint`获取点击位置:
```csharp
using UnityEngine;
public class ScreenCoordExample : MonoBehaviour
{
void Update()
{
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
// mousePosition.x 和 mousePosition.y 就是屏幕坐标,通常在0到1之间
Debug.Log("Mouse Position: (" + mousePosition.x + ", " + mousePosition.y + ")");
}
}
```
2. 使用`Screen.size`计算屏幕中心点:
```csharp
Vector3 screenSize = new Vector3(Screen.width, Screen.height, 0);
Vector3 screenCenter = Camera.main.ViewportToClipPoint(new Vector3(0.5f, 0.5f)) * screenSize;
Debug.Log("Screen Center: (" + screenCenter.x + ", " + screenCenter.y + ")");
```
在这个例子中,我们首先获取屏幕宽度和高度,然后将屏幕中心的像素值转换为视口空间,最后再转换成裁剪空间的三维向量,x和y即表示屏幕中心的坐标。
阅读全文