UGUI研究院之有效解决RaycastTarget勾选过多的烦恼(二十三)
来源:互联网 发布:nginx lua 连接redis 编辑:程序博客网 时间:2024/06/07 11:17
看过UGUI源码的朋友一定都知道,UI事件会在EventSystem在Update的Process触发。UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。
团队多人在开发游戏界面,很多时候都是复制黏贴,比如上一个图片是需要响应RaycastTarget,然后ctrl+d以后复制出来的也就带了这个属性,很可能新复制出来的图片是不需要响应的,开发人员又没有取消勾选掉,这就出问题了。
所以RaycastTarget如果被勾选的过多的话, 效率必然会低。。这个问题其实困扰了我很久,我终于想了一个还算好的方法解决它。
把下面代码挂在游戏中的任意GameObject上,原理其实很简单就是绘制辅助线,当UI中RaycastTarget发生变化,SceneView中的蓝色辅助线也会刷新,还是挺方便的。(感谢钱钱告诉我的 GetWorldCorners 方法)
如下图所示,这是之前游戏中的一个简单的界面。 在SceneView视图中,我并不知道那些勾选了RaycastTarget,以前的做法需要一个个的去找(这个太麻烦了)
如下图所示,加上上面的脚本后,可以在scene试图中直接看到,蓝色框表示的就是勾选过RaycastTarget的UI。
有了辅助框后,如下图所示,我就可以很方便的把不需要响应的RaycastTarget去掉即可。
测试环境 unity5.3.5
Canvas的参数
UICamera相机的参数
这个脚本无论是运行模式,还是编辑模式都可以看到蓝色的辅助线,的理论上90%的文字或者 非按钮的图片 都是不需要RaycastTarget的。如果大家有什么建议或者想法,欢迎再下面给我留言。
- UGUI研究院之有效解决RaycastTarget勾选过多的烦恼(二十三)
- UGUI研究院之有效解决RaycastTarget勾选过多的烦恼(二十三)
- UGUI之优化(1)-解决RaycastTarget勾选过多的烦恼
- [Unity优化]RaycastTarget勾选过多的烦恼
- UGUI研究院之Prefab嵌套特效部分(二十九)
- UGUI研究院之UI的深度学习
- UGUI研究院之RawImage显示多边形或圆形贴图(二十六)
- UGUI研究院之UI粒子特效自适应缩放(二十二)
- UGUI研究院之UI粒子特效自适应缩放(二十二)
- UGUI研究院之LayoutGroup布局
- UGUI研究院之Text文本渐变(十一)
- UGUI研究院之SpritePacker打包参数(四)
- UGUI研究院之Image模糊效果(十八)
- UGUI研究院之Text文本渐变(十一)
- UGUI研究院之不添加摄像机解决UI与UI特效叠层问题
- NGUI研究院之为什么打开界面太慢(十三)
- Unity_UGUI研究院之UI的深度学习(二)
- UGUI研究院之设置全屏图
- javascript innerHTML、outerHTML、innerText、outerText的区别
- LayaAir学习之二:给显示对象设置遮罩----js方向
- 基于关联规则的分类算法
- 正则匹配字母、数字与字符组成的字符串
- NS安装 NS2.35 Ubuntu16.04
- UGUI研究院之有效解决RaycastTarget勾选过多的烦恼(二十三)
- RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具
- MFC 线程编程
- linux文件系统
- Lottie Android 初探
- Marketer 渠道打包工具,可视化打包工具,快速打包工具
- 归并排序java实现
- 移动端下拉刷新、上拉异步加载的插件以及轮播图插件
- 有关数据库操作的知识总结