【发布时间】:2016-10-14 05:48:40
【问题描述】:
所以,我不习惯光线投射,这是我第一次使用它。基本上我试图用它来模拟鼠标点击,因为这个程序是为触摸屏设计的,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);
}
}
}
}
【问题讨论】:
-
您的问题甚至没有描述您的问题。您是否正在尝试检测精灵的点击?在画布图像上?在 3D 网格上?您不喜欢目前正在发生的事情?
-
我对其进行了编辑,希望能够澄清它。
-
我提供了一个答案。成功了吗?
-
是的,它工作得很好,或者看起来,无论如何。抱歉耽搁了,直到现在我才能检查。
标签: c# android unity3d raycasting