我的鼠标单击,轻击事件不能识别正确的游戏对象。...
我真的不知道为什么
我的代码就是我在许多Google搜索中看到的代码
我已经调试。记录了几种变体,只是试图获得我点击的游戏对象
// take_merchandise
// params: none
// functions : temporarily will rely on a click event and grab the merchandise from a cart
// returns: none
private void take_merchandise()
{
if (Input.GetMouseButtonDown(0))
{
Ray tap = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(tap, out hit))
{
Debug.Log(hit.transform.name);
}
}
}
我得到了错误的游戏对象
答案 0 :(得分:1)
Camera.main在层次结构中查找带有标签“ MainCamera”的第一台摄像机。
如果您使用许多相机-这将成为问题。解决方案是要么在脚本中使用其他摄像机,要么将所有需要的摄像机标记为“ MainCamera”,并且一次仅保持一台摄像机处于活动状态-这样脚本可以找到并使用它(例如,如果您切换到Camera2,确保禁用Camera1,以便Unity可以从层次结构中获取正确的摄像机)。