如何在Unity中的某个3D对象上计算鼠标指针的位置?

时间:2018-06-18 12:02:24

标签: unity3d coordinates mouse coordinate-transformation

是否有任何内置方法来计算与光线相对应的交叉点,表示鼠标指针(或触摸手指)与场景中的某个对象?

例如,如果我有一个球体,我可以在其上计算UV坐标(不自己编写数学)吗?

2 个答案:

答案 0 :(得分:1)

如果你有一个网格,就已经有了UV property。至于从用户点击/触摸的位置发送光线投射,您需要自己做一些工作。

    RaycastHit hit;
    Ray ray = camera.ScreenPointToRay(Input.mousePosition);

    if (Physics.Raycast(ray, out hit)) {
        Transform objectHit = hit.transform;

        // Do something with the object that was hit by the raycast.
    }

我从Unity docs中提取了那段代码。

如果您需要物体上射线命中的确切位置,则可以使用hit.pointdocs for hit.point

答案 1 :(得分:0)