位置: 编程技术 - 正文

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

  • 调研费用怎么写
  • 控股股东无偿捐赠
  • 结转本年利润要扣除企业所得税吗
  • 小规模零申报增值税
  • 公司组织旅游费用报个税吗
  • 劳务 劳务报酬所得
  • 关联企业往来款 利息
  • 公司为个人租房是否缴纳个税
  • 固定资产进项税额
  • 固定资产弃置费用计入什么科目
  • 公司账户没有钱怎么办
  • 冲销无形资产如何会计分录?
  • 如何处理没有录音的人
  • 算项目人工成本的公式
  • 小规模纳税人没有收入怎么报税
  • 普通发票需要什么
  • 成本控制的基本原则包括
  • 盈余公积意思大白话解释
  • 建筑劳务公司的会计账务处理
  • 工伤医疗费会计分录
  • 固定资产减值准备可以税前扣除吗
  • 按揭的车可以只买交强险吗
  • 投资性房地产企业有哪些
  • 如何编制固定资产折旧计算表
  • 如何进行降压治疗
  • 电脑出现一堆英文无法开机
  • php中的类
  • deepin正式版
  • php编程技术
  • 预提土增税账务处理
  • 虚开发票的管理办法是什么?
  • 收回已确认的坏账准备为什么在贷方
  • vericut9.0环境变量
  • thinkphp3.x连接mysql数据库的方法(具体操作步骤)
  • 申报个体经营所得税款所属期怎么填
  • 个税申报系统操作指南
  • php接收post数据并查询数据库
  • Stable Diffusion 关键词tag语法教程
  • python的复制命令
  • vue如何实现登录
  • php读取文件内容的方法和函数
  • 发票内容类型怎么填
  • Vite + Vue2 + Vuetify2 + <script setup> + TypeScript 搭配开发项目
  • mysql查询的结果缓存里怎么清除
  • 未认证的进项税额会计分录
  • 企业电子发票重开流程
  • 固定资产以什么资金形态存在
  • 定期定额个税申报应税项和计税依据为什么不相等
  • 发票备注栏必须写吗
  • 会计政策变更追溯调整的年限
  • 二手车没有发票能上牌吗
  • 速动比率和流动比率怎么分析
  • 进口货物如何入账
  • 工程结算直接做主营业务成本
  • 记账凭证的基本要素包括
  • 购房增值税发票是购房发票吗
  • 公司注销帐务怎么处理
  • 出资方式现金
  • 增值税是否计入税金及附加
  • 会计账簿按用途分类可以分为
  • mysql从一个表导入记录到另一个表
  • fedora os
  • Usrshuta.exe - Usrshuta是什么进程
  • win10怎么取消u盘密码保护
  • mac怎么连续播放视频
  • hptasks.exe是病毒吗 是什么进程 hptasks进程说明
  • windows没有
  • windows8使用教程
  • mac修改文件名
  • 升级win102004
  • win8系统怎么关机
  • win8系统怎么还原出厂设置
  • win10 build 21277
  • cocos2dx ActionManager播放动画回调问题
  • android studio环境
  • shell的case语法
  • node.js开发微信小程序
  • 怎样用在js中使用css的内容
  • delphi7教程
  • 你家预收租金到哪里去了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设