位置: 编程技术 - 正文

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组件)

  • 简易征收怎样计提增值税
  • 完全成本法税前利润计算例题
  • 代第三方收取的款项作为什么处理
  • 减免申报表如何填
  • 财务费用余额方向怎么填
  • 海关进口增值税专用缴款书如何抵扣
  • 建筑服务预征缴纳税款本期实际抵减税额怎么填
  • 个人提供劳务给个人,不开票要缴税吗
  • 普通增值税发票是否可以抵扣?
  • 银行存款收款凭证
  • 维护费可以留到明年抵扣吗?
  • 采购合同安装服务费审价规定
  • 董事监事的报酬包括哪些
  • 采用简易计税方法
  • 研发费用加计扣除是什么意思啊
  • 什么发票可以抵成本
  • 发行股票的承销商佣金分录
  • 苹果键盘快捷键怎么用
  • ie浏览器打开后显示已停止工作
  • doc文档隐藏
  • 生产企业提供售后服务
  • win10如何设置快捷键截图
  • 华为手机隐藏应用
  • 已抵扣的进项税额红冲的账怎么做
  • 固定资产折旧表述不正确的是
  • windows商店如何切换地区
  • 支票存根属于什么凭证类型
  • electron静默打印
  • win7打开启动
  • 微博怎么变成大v
  • 客户抽奖活动方案
  • elementui中的el-tab-pane为什么内容会为0
  • 人工智能专业计算机科学与技术
  • 利息增值税及附加计算
  • 用友的应付单和付款单的区别各是什么时候填制
  • 公司股权分红会计分录
  • 浅析企业坏账产生的原因及对策
  • 资产负债表净资产为负数
  • 业务出差餐费如何记账
  • 融资租赁业务需要什么条件
  • 社保代扣代缴的规定
  • 政府会计的会计要素有哪几个?会计要素之间的关系如何?
  • 药店主营业务成本怎么算出来的
  • access分组计数
  • 清算期间研发费怎么算
  • 广告被罚
  • 开银行承兑汇票需要多少保证金
  • 其他债权投资的特征有哪些
  • 合伙企业分红怎么做账
  • 暂估入库估多了,汇算清缴前调整
  • 村集体经济组织架构
  • 法人网上变更流程
  • 团体意外保险能赔多少钱
  • mysql jdbc
  • 目前默认系统%1
  • mac上怎么截图
  • linux挂载windows共享文件命令
  • ubuntu听音乐
  • cmd.exe是什么意思
  • 如何让xp系统崩溃
  • win7网络连接不见了
  • 微软推送win11
  • Win10预览版拆弹
  • javascript的常用数据类型
  • python内置函数什么用来返回序列中的最大元素
  • 备份多个数据库
  • pygame实例
  • javascript教程完整版
  • jquery Deferred 快速解决异步回调的问题
  • 动态生成类对象
  • bootstrap的组件
  • 财税刘毅
  • 税务投诉回访电话号码
  • 2023年内蒙古房贷利率最新消息
  • 销售黄金饰品
  • 南京市国家税务局官网
  • 车间租金计入什么会计科目
  • 企业所得税的税负率多少合适
  • 电子秒表怎么读数9:33.12
  • 减免所得税额怎么算的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设