Unity3d 点击3d世界统一上的3d游戏对象

Unity3d 点击3d世界统一上的3d游戏对象,unity3d,raycasting,Unity3d,Raycasting,我正在地图上填充3d标记。下一个目标是检测正在单击的标记。附加每个标记的UI按钮,但这不是一个好方法。有人能提出更好的建议吗 你的标记有对撞机吗?如果是这种情况,那么您可以在附加到游戏对象的脚本组件中使用OnMouseDown功能,只要它有一个碰撞器组件 否则,您可以从中使用此代码段 你的标记有对撞机吗?如果是这种情况,那么您可以在附加到游戏对象的脚本组件中使用OnMouseDown功能,只要它有一个碰撞器组件 否则,您可以从中使用此代码段 您可以在gameobject中连接碰撞器,并使用Phy

我正在地图上填充3d标记。下一个目标是检测正在单击的标记。附加每个标记的UI按钮,但这不是一个好方法。有人能提出更好的建议吗

你的标记有对撞机吗?如果是这种情况,那么您可以在附加到游戏对象的脚本组件中使用
OnMouseDown
功能,只要它有一个碰撞器组件

否则,您可以从中使用此代码段


你的标记有对撞机吗?如果是这种情况,那么您可以在附加到游戏对象的脚本组件中使用
OnMouseDown
功能,只要它有一个碰撞器组件

否则,您可以从中使用此代码段


您可以在gameobject中连接碰撞器,并使用Physic.RayCast进行检测:

https://docs.unity3d.com/ScriptReference/Physics.Raycast.html

您可以在gameobject中连接碰撞器,并使用Physic.RayCast进行检测:

https://docs.unity3d.com/ScriptReference/Physics.Raycast.html

虽然Raycast可以工作,但Unity的应该用于检测点击。这将消除您稍后在代码中遇到的一些问题。检查如何在重复回答中执行此操作,其中显示“5.3对于3D对象(网格渲染器/任何3D碰撞器)”,而Raycast应该工作,Unity应该用于检测单击。这将消除您稍后在代码中遇到的一些问题。检查如何在重复回答中执行此操作,其中显示“5.3对于3D对象(网格渲染器/任何3D碰撞器)”是的,我有一个带有游戏对象的碰撞器。鼠标一落,工作就完成了。。谢谢……)是的,我有一个游戏物体的碰撞器。鼠标一落,工作就完成了。。谢谢……)