有很多这样的问题,但是我没有找到解决问题的有效方法。
我想单击对撞机后面的对象,这是我的代码:
[{"make":"Ford"}, {"trim":"escape"}, {"year":2014}]
我将此代码放在附加到第一个对象的脚本中,但是永远不会调用调试日志。 有什么想法吗?
答案 0 :(得分:2)
如果我对您的问题理解正确,那么您想单击黄色球体(参见图片),并想要白色立方体的名称吗?
有两种可能的方法:
1。忽略射线广播层
您可以为黄色球体提供统一的标准层“忽略Raycast”:
然后您的代码应该可以工作(我在鼠标左键上添加了鼠标右键)
void Update()
{
if (Input.GetMouseButtonDown(0)) // Click on left mouse button
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
Debug.Log(hit.transform.name);
}
}
}
2。使用图层蒙版
请参阅:Using Layers and Bitmask with Raycast in Unity
如果这不是您要查找的内容,请提供更多信息和问题的屏幕快照。