所以,我不习惯光线投射,这是我第一次使用它。基本上我试图用它来模仿鼠标点击,因为这个程序适用于触摸屏,而UI元素不是一个选项。代码附加到世界上的3D游戏对象中,当我点击我看到的触摸屏时,我需要它来触发并加载不同的场景。但是,代码似乎总是触发,甚至覆盖UI元素,无论我点击哪里。大多数人似乎都没有遇到过光线投射的问题,但是我遇到了相反的问题。任何帮助将不胜感激。
void Update(){
foreach (Touch touch in Input.touches) {
if (touch.phase == TouchPhase.Began) {
Ray ray = Camera.main.ScreenPointToRay (touch.position);
RaycastHit hit;
if (Physics.Raycast (ray, out hit)) {
if (hit.collider.gameObject)
SceneManager.LoadScene (buttonIdentifier);
}
}
}
}
答案 0 :(得分:1)
甚至覆盖UI元素,无论我在哪里点击。
这个问题以及其他问题可以通过而不是来解决。只需实施from urllib.parse import urlparse, parse_qs
并覆盖IPointerClickHandler
功能即可。之后,将OnPointerClick
附加到相机。
以下代码将为您完成所有这些操作,包括附加PhysicsRaycaster
。只需将脚本附加到要检测点击的3D对象即可。
PhysicsRaycaster