【发布时间】:2021-12-06 12:40:48
【问题描述】:
当我在统一编辑器上运行时,光线投射完美运行。但是当我在“构建并运行”期间在移动设备上运行时,光线投射不会击中任何东西。我知道它什么都没有,因为我放置了一个 3dtext 来表示是否有热。
我使用 3d 文本来比较 Unity 编辑器和手机中产生的光线。它们产生相同的光线。
我以前使用过这段代码,它运行良好。它适用于统一编辑器,但不适用于手机。我错过了什么吗?
我正在使用三星 S10 进行测试。
//Get input
if (Input.touchCount > 0 || Input.GetMouseButtonDown(0))
{
if (!IsCurrentlyInTouch)
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
ray = Camera.main.ScreenPointToRay(touch.position);
}
else
{//keyboard
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
}
RaycastHit hit;
if (Physics.Raycast(ray, out hit,Mathf.Infinity))
{
selectedObject = hit.transform;
//Do things
}
if (hit.collider != null)
{
DebugTxt.text = hit.collider.name;
}
else
{
DebugTxt.text = "no hit " + ray.GetPoint(10) ;
}
}
IsCurrentlyInTouch = true;
}
else
{
IsCurrentlyInTouch = false;
}
【问题讨论】: