如何判断鼠标是否点击在UI界面上或是3D模型上?
设·集合小编 发布时间:2023-03-21 19:43:38 129次最后更新:2024-03-08 11:40:37
实际工程中往往3D场景与UI界面并存,往往UI界面比3D场景优先级高,鼠标在UI界面上时,不能选中UI界面后面的3D模型。今天本文内容主要 给大家带来了,如何判断鼠标是否点击在UI界面上或是3D模型上的操作演示。希望能帮助到有需要的人。
溜溜自学全站800 免费视频教程,点击免费试学设计课程>>
工具/软件
电脑型号:联想(Lenovo)天逸510S; 系统版本:Windows7; 软件版本:UG
方法/步骤
第1步
最常见的一个功能模块就是实现判断鼠标是是否在UI界面上()介绍一个我自己常用的判断模块第2步
public static bool IsMouseOverUI { get { Vector3 mousePostion = Input.mousePosition; GameObject hoverobject = UICamera.Raycast(mousePostion) ? UICamera.lastHit.collIDer.gameObject : null; if (hoverobject != null) { return true; } else { return false; } } }普及一下C#中?:运算符的知识:表达式1?表达式2:表达式3 ;如果1为真则执行2,为假执行3第3步
这段代码的意思是,从鼠标所在位置搭设一条射线,如果UICamera.Raycast(mousePostion)返回true,hoverobject=UICamera.lastHit.collIDer.gameObject 。如果返回为false,hoverobject=null。第4步
判断鼠标点击的3D模型响应事件Ray ray = Camera.mAIn.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (PhysiCS.Raycast(ray, out hitInfo)) { GameObject Obj = hitInfo.transForm.gameObject; if (Obj.tag == “123”) { DebUG.Log("鼠标点击了3D物体123"); } else { DebUG.Log("鼠标没有点中任何物体"); }第5步
上面判断鼠标是否在UI上的方法是,NGUI判断法。现在介绍一下UGUI如何判断鼠标是否在UI上,其中添加了鼠标左键、双击判断- 上一篇:Poser6.0破解版下载附安装破解教程
- 下一篇:u3D如何对物体进行多选操作?
相关文章
广告位
评论列表