位置: 编程技术 - 正文

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:Memcached::touchByKey()的用法_Memcached类
  • el-upload上传文件大小限制
  • 工业企业应付账款周转率多少合适
  • 减值测试的资产有哪些
  • flex布局适用于哪些场景
  • 股权转让有溢价分录怎么写
  • 基于什么意思
  • web前端 css
  • php如何入门
  • jwt中的jti
  • 公司购买银行理财会计分录
  • 未开票收入缴纳增值税做账
  • 织梦模板改成帝国模板
  • 年终奖怎么计算个税
  • 公司成立开的户叫什么
  • 税收类型增值税有哪些
  • linux大版本升级
  • 增值税零税率与免税谁更优惠
  • 无票收入增值税怎么申报
  • 让渡资产使用权包括
  • 外购免税农产品用于职工福利
  • 有限合伙企业中有限合伙人承担责任的方式为
  • 废料如何做分录
  • 收到的货款比实际货款多
  • 发票当月没开
  • 收到加盟费应该怎么做账
  • 工厂没给工人买社保我们应该找哪个部门
  • 房屋租赁的注意问题
  • 法人能去税务局开个人发票吗
  • 公司奖励给部门的奖励
  • 银行汇票的适用主体
  • sql server in()
  • 深入浅出意思
  • c3p0连接池提供了哪些方式来配置连接池的参数
  • 如何将windows 7升级到windows 10
  • macbook快捷操作大全
  • mac如何开启查找我的mac
  • SchSvr.exe - SchSvr是什么进程 有什么作用
  • win10显示win8
  • linux指定格式显示日期
  • linux who am i
  • lnmp一键安装包是什么
  • linux系统如何安装字体
  • iphone一直让登陆icloud
  • unity3d地图定位
  • 计算机中丢失opencv_core249.dll
  • css样式表规则由什么组成
  • Unity3D事件函数的执行顺序
  • 如何输出反序数
  • csx脚本
  • unity 黑洞
  • js圆形链
  • android系统虚拟机
  • javascript flash下fromCharCode和charCodeAt方法使用说明
  • flask框架下使用scrapy框架
  • 3.0车船税多少钱
  • 企业欠税补交后影响贷款吗
  • 国税地税发票编码查询
  • 石家庄有线电视客服电话9688
  • 公司财税知识
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设