我在地图上填充了3d标记。下一个目标是检测点击哪个标记。带有每个标记的附加UI按钮,但这不是一个好方法。任何人都能建议更好的东西
答案 0 :(得分:1)
你的标记是否有对撞机?如果是这种情况,那么你可以使用你可以在附加到游戏对象的脚本组件中使用OnMouseDown
函数,只要它有一个碰撞器组件。
否则,您可以使用http://answers.unity3d.com/questions/34795/how-to-perform-a-mouse-click-on-game-object.html
中的此片段function Update ()
{
if ( Input.GetMouseButtonDown(0))
{
var hit : RaycastHit;
var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, hit, 100.0))
{
// handle mouseclick
}
}
}
答案 1 :(得分:1)
您可以在游戏对象中附加对撞机并使用Physic.RayCast进行检测:
https://docs.unity3d.com/ScriptReference/Physics.Raycast.html