首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unity3d OnMouseDown函数

unity3d OnMouseDown函数
EN

Stack Overflow用户
提问于 2014-05-18 09:35:22
回答 4查看 4.3K关注 0票数 0

我是Unity3D的新手。我想做一件简单的事。但做不到。我有一个.obj文件,它是一个3d密钥文件。我做以下几件事:

  1. 在unity3D中导入此键(到资产)
  2. 将此键添加到场景(从资产到层次结构)
  3. 向此键添加脚本
  4. OnMouseDown()函数添加到此脚本,如下所示- OnMouseDown() { Debug.Log (“单击.”);}

但是,当我单击键时,控制台中没有显示任何消息。请告诉我有什么问题吗?

EN

回答 4

Stack Overflow用户

发布于 2014-05-18 10:34:38

  1. 确保游戏对象不在“忽略Raycast”层
  2. 在您的更新函数中使用下面的内容来查看光线投射是否正常。 无效更新() { if (Input.GetMouseButtonDown (0)) { ray =Input.GetMouseButtonDown RaycastHit hit;if (Physics.Raycast,out hit)) { Debug.Log ("Name =“+ hit.collider.name);Debug.Log ("Tag =”+ hit.collider.tag);Debug.Log (“命中点=”+ hit.point);Debug.Log (“对象位置=”+ hit.collider.gameObject.transform.position);Debug.Log (“”)
票数 2
EN

Stack Overflow用户

发布于 2015-03-02 08:49:12

OnMouseDown及其相关功能实际上都是较旧的系统。用于此操作的较新的系统是事件系统。

具体来说,要获得鼠标点击,您可以在一个类中实现这个接口:http://docs.unity3d.com/460/Documentation/ScriptReference/EventSystems.EventTriggerType.PointerClick.html

但是实际上有一种不需要代码的更简单的方法。使用此组件:http://docs.unity3d.com/ScriptReference/EventSystems.EventTrigger.html

然后,您可以可视地将鼠标单击事件转发到其他内容。

如果你没有完全遵循我说过的话,那么真正开始的事情就是学习UI系统。您可以在这里找到视频教程:http://unity3d.com/learn/tutorials/modules/beginner/ui/ui-canvas

为了说明这一点,UI系统并不仅仅适用于UI。UI系统运行一个EventSystem,这是您想要用来将输入事件转发到整个场景中的任何对象的3D或2D。UI教程将解释该EventSystem的用法。

票数 0
EN

Stack Overflow用户

发布于 2017-06-07 03:17:28

如果你想用OnMouseDown来激发三维物体,你需要给它分配一个对撞机。

当用户在OnMouseDown或对撞机上按下鼠标按钮时,会调用GUIElement。 此事件将发送给对撞机或GUIElement的所有脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23720531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档