是否有任何内置方法来计算与光线相对应的交叉点,表示鼠标指针(或触摸手指)与场景中的某个对象?
例如,如果我有一个球体,我可以在其上计算UV坐标(不自己编写数学)吗?
答案 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.point
(docs for hit.point)
答案 1 :(得分:0)