位置: 编程技术 - 正文

Unity3D--如何控制UGUI的触摸 使其可以控制穿透UGUI触摸到其它物体(unity控制三维模型)

编辑:rootadmin

推荐整理分享Unity3D--如何控制UGUI的触摸 使其可以控制穿透UGUI触摸到其它物体(unity控制三维模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity代码控制timeline,unity3d控制台,unity3d如何控制物体移动,unity3d如何控制物体环形移动,unity3d控制台,unity如何控制slider,unity3d如何控制物体环形移动,unity 控制,内容如对您有帮助,希望把文章链接给更多的朋友!

如何控制UGUI触摸 使可以控制穿透UGUI触摸到其它物体

方法1: 其它物体通过 EventSystem.current.currentSelectedGameObject 来进行判断 那么就是UGUI当想穿透的时候,不能有selected触发

方法2: 底层加一个Panel 凡是需要穿透的物体,加一个Cancas Group,然后关闭拦截,让其穿透

方法3: 根据EventSystem.current.IsPointerOverGameObject,据说有bug

方法4: 给摄像机添加 PhysicsRaycaster ,然后3D物体就可以使用UI的事件接口

由于IPointerClickHandler不需要Selectedtable控制,但是又受其限制 所以不建议对没有Selectable组件的物体添加IPointerClickHandler 但是IPointerClickHandler即使Selectable的interactable为false也会触发

对于需要使用interable = false的物体,添加上IPointerClickHandler,触发的时候让Selectedtable物体为该物体

对于想要穿透的,添加一个空的Event Trigger,否则EventSystem.current.currentSelectedGameObjec非空,并且会产生颜色变化 对于不想要穿透的,只要该物体直到跟父物体,有一个物体有Selectable组件,并且第一个物体interable为true即可(小心点击事件会被触发,所以不建议) 没有Selectedable不想被穿透的,还是建议添加Selectedtable,EventTrigger也行,但是EventTrigger就不会让Selected为该物体了 对于原本有Selectable组件的,但是可能被关掉的,可以用EventTrigger或IP将Selected指向该物体

Unity3D--如何控制UGUI的触摸 使其可以控制穿透UGUI触摸到其它物体(unity控制三维模型)

至于Selected,在OnClickDown的时候决定的

OnClick事件触发优先级大于OnPointerClick OnClick先添加先触发

Selectable需要Image

对于只有IPointerClickHandler 没有Selectable组件的物体 如果直到根父节点都没有Selectable组件 那么该IPointerClickHandler事件会被触发 但是EventSystem.current.currentSelectedGameObject为空

否则,该IPointerClickHandler事件不会触发 同级物体不会触发,直接跳到有Selectable的父级物体

但是,父级物体不会触发OnClick和IPointerClickHandler事件(原物体得有IPointer事件,也就是没有的话,还是会触发的) 但是选中效果会被触发,EventSystem.current.currentSelectedGameObject为该父物体 这是bug,就算父物体不在点击范围也会被触发到

关闭Interactble 将会导致拦截了触摸事件,IPointerClickHandler能触发 但是EventSystem.current.currentSelectedGameObject为空

EventTrigger实现的IPointerClickHandler 就算没有Selectable也能触发 但是EventSystem.current.currentSelectedGameObject为空

以上这些都仅在同一个Canvas里面生效,不会跨越Canvas

Unity3d 组件设计的思考 在使用unity3d之前,我已经知道组件设计的概念,我们某个项目实际上也是基于组件的,虽然底层引擎只是设计了一个最简单的组件框架,遗憾的是其他部分,

[置顶] Unity中对SQL数据库的操作 在Unity中,我们有时候需要连接数据库来达到数据的读取与储存。而在.NET平台下,ADO.NET为我们提供了公开数据访问服务的类。客户端应用程序可以使用A

如何在NGUI上显示粒子特效 最后碰到有人问,如何在NGUI的UI层上合理的显示特效,恰巧以前做过,就在此小述一下什么都不说了,直接上代码吧,相信识货的应该都可以看懂usingUni

标签: unity控制三维模型

本文链接地址:https://www.jiuchutong.com/biancheng/383596.html 转载请保留说明!

上一篇:手机游戏关卡制作(手机关卡类游戏)

下一篇:Unity3d 组件设计的思考(unity ugui组件)

  • 自己房子出租发布信息
  • 其他收益科目代码
  • 收到租赁费发票的账务处理
  • 研发费用扣除比例是百分75吗
  • 研发费用在企业所得税中怎么扣除
  • 融资租入固定资产属于资产吗
  • 吸收合并控股合并新设合并的区别
  • 招待费进项税额转出会计分录
  • 对赌协议如何进行管理
  • 无偿使用期限为多少年
  • 企业注销未分配利润要交个人所得税吗
  • 存货计提减值准备对所得税的影响
  • 年收入超过12万什么时候申报
  • 未来公司销售一批产品给东方公司
  • 给员工的福利要缴税吗
  • 工业企业该怎样建账?
  • 所有利息收入都免税吗
  • 小规模建筑工程
  • 库存现金可以做中转科目嘛为什么
  • 发票分票怎么处理违章
  • 怎么查企业的增值税纳税额
  • 管理员已阻止你运行此应用 win10
  • 软件开发并销售怎么做
  • 员工宿舍水电费计入什么会计科目
  • 即征即退的增值税需要缴纳企业所得税吗
  • 以前年度的账错了怎么办
  • javascript遇到的问题
  • php编程代码
  • 退货发票会作废吗
  • 企业注销时实收资本需要交税吗
  • vue 页面生成pdf
  • 又十个超级有用的PHP代码片段
  • 新空调的安装费是多少
  • phpqrcode 实例
  • 中央公园商场
  • 米尔福德试车场
  • linux搭建web服务器
  • 纯HTML+CSS小兔鲜儿网站首页(静态网页)
  • vue国际化占位符
  • python2 tkinter
  • 开具劳务费发票的资料
  • microsoft SQL server 2008有什么用
  • 允许抵扣的进项税
  • 关于发放节日补助的通知
  • 应收账款的明细科目一般按照什么设置
  • 只有销项没有进项怎么交税
  • 支付给劳务人员劳务费需缴纳印花
  • 税收滞纳金的问题有哪些
  • 单位买另一单位的保险
  • 记账凭证的分类及每类的具体含义是什么
  • 实收资本小于注册资本账务处理
  • 怎么设置账簿
  • 公司计提减值好吗
  • mysql优化的几种方法
  • mysql使用语句
  • 一个简单的群规怎么写
  • sql2005 HashBytes 加密函数
  • fedora linux安装教程
  • winxp怎么设置启动项
  • linux忘记root密码怎么办
  • 一岁的宝宝可以喝枸杞水吗
  • 宽带连接显示重拨
  • macappstore下载软件一直要密码
  • Linux Kernel 4.5在3月15日发布最终版
  • bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
  • [置顶]bilinovel
  • 阿里面试题和答案
  • 会用python
  • jquery使用jsonp
  • unityhub安装unity出错
  • 在android
  • python的了解
  • 税务局各部门职责
  • 抵扣怎么做账
  • 更改国名
  • 河南省地税局副局长
  • 什么是党建工作一体化
  • 同比减少怎么计算出来
  • 基本账号信息
  • 车辆购置税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设