Raycasting总是打响

时间:2016-06-13 17:42:38

标签: c# android unity3d raycasting

所以,我不习惯光线投射,这是我第一次使用它。基本上我试图用它来模仿鼠标点击,因为这个程序适用于触摸屏,而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);
            }
        }
    }

}

1 个答案:

答案 0 :(得分:1)

  

甚至覆盖UI元素,无论我在哪里点击。

这个问题以及其他问题可以通过而不是来解决。只需实施from urllib.parse import urlparse, parse_qs 并覆盖IPointerClickHandler功能即可。之后,将OnPointerClick附加到相机。

以下代码将为您完成所有这些操作,包括附加PhysicsRaycaster。只需将脚本附加到要检测点击的3D对象即可。

PhysicsRaycaster