是否有任何内置方法来计算与射线相对应的交叉点,表示鼠标指针(或触摸手指(与场景中的某个对象?
例如,如果我有一个球体,我可以计算它的紫外线坐标吗(不用自己写数学(?
如果你有一个网格,那么它上面已经有一个UV属性。至于从用户点击/触摸的地方发送光线投射,您需要自己做一些工作。
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 文档中提取了那段代码。
如果您需要光线击中物体的确切位置,则可以使用hit.point
(hit.point的文档(
我猜你正在寻找这个 https://docs.unity3d.com/ScriptReference/RaycastHit-textureCoord.html