如何检测点击的确切位置

本文关键字:位置 何检测 检测 | 更新日期: 2023-09-27 18:28:15

我正试图使用C#在Unity中获得点击的确切位置,但我不知道如何确定。我尝试使用光线投射,得到了一个非常准确的位置,但它只是四舍五入到小数点后一位。这对我来说有点太大了。那么我怎么才能得到一个完全准确的位置呢?

我的代码如下:

RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(holdPosition);
if (Physics.Raycast (ray, out hit, Mathf.Infinity, 1<<15)) {
    Debug.Log(hit.point);
}

我得到了一个类似(0.5,1.3,-5.0)的结果,但我想要4或5个小数的精度。

如何检测点击的确切位置

实际上,您确实得到了比这更精确的结果。控制台中的值是四舍五入的。实际浮点值确实具有更高的精度。如果你想看看这是什么,你可以使用一个格式说明符,比如:

Debug.Log(hit.point.ToString("F4"));

其中,"F4"是标准数字格式字符串。这应该会向您显示更精确的值。

Debug.Log(hit.point.x);
Debug.Log(hit.point.y);
Debug.Log(hit.point.z);

将为您提供更精确的值。