网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】FairyGUI图标文字合批失败的原因

0
分享至

这是第428篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com

本期目录:

  • FairyGUI图标文字合批失败的原因
  • 为什么Cubemap的内存占用超高
  • 如何找到网格某个切面的中心点
  • 为什么SafeZone在倒屏后方向相反

UI

Q1:项目现在使用的是FairyGUI,界面中会有一排类似下图的比较常见的组合按钮(图+特效+文字)。

在FrameDebugger中注意到这部分的DrawCall情况有点惨;老项目用UGUI+TMP作类似的UI应该是没有问题都能合的。父节点FairyBatching是勾了的,图集是合好了的,图和图、文字和文字之间应该也没有互相遮挡覆盖;考虑到可能是特效穿插的问题,所以运行调试时直接把特效的节点删掉了,还是不行。请问还有什么思路?

A:遇到过类似的问题。首先FairyGUI的结构在导出后应该就是固定的了,有可能你运行时做了修改删掉改掉某些东西,但原来的区域规格和UI元素仍然占位。所以这里删特效、对TextField覆盖面积的调试检查,可能都得请UI同学帮忙,回到FairyGUI编辑器阶段处理和检查,再重新导出看效果。

Q2:操作了下,确实有变化。但现在又有两个新问题:

1. 确实导出前就把特效移除有效果,但图和文字中夹着特效是表现需要,最终不大可能删,这个是不是就没什么办法了?

2. 就算移除了特效,还是发现只有图和图之间合了,文字之间仍然不合。而且这次是确认了TextField之间也没有重叠。这时候看FrameDebugger合批失败原因变成了超过300个顶点不能动态合批。请问这个怎么解决呢?

A: 第一个确实想不到什么办法了。第二个就像FrameDebugger写的一样,你若是用了Shadow、Outline这种效果,文字的顶点就会成倍上升,再加上你字一多,就会超了。不过如果你这些表现上都要用的话,也和特效一样没什么办法了。

感谢Faust@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67fcc756682c7e5cd61bfa57

Memory

Q:在MemoryProfiler里发现Graphics分类下面Cubemap的内存占用有40多MB,比我们项目用的网格都多,这个量正常吗?

A: 确实高了,尤其移动端游戏很少有必要用这么多。可以看下是不是有些Cubemap单个就占好几MB。一个Cubemap本质是6张Texture 2D,所以一个1024*1024、ASTC4*4格式的资源就占6MB内存了。但其实我测下来其规格对表现的影响很微妙,像我们项目里有些物体上把Cubemap改到128*128、ASTC8*8看上去都没什么区别,但内存就小到可以忽视。最终也是说服美术在低分档上用这版了。

感谢Faust@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67fcd15d3d306f3e9d594ec4

Script

Q:我想要找到一个网格中某个切面的中心点,有什么实现的思路吗?

A:提供一种追踪的方式,大致思路是:

  • 通过Get Component Bounds得到网格包围球的半径,乘二以保证追踪起点足够远,得到追踪的半径(Float)。

  • 在For Loop中配合Rotate Vector Around Aixs和追踪半径来得到足够多的追踪点(Float→Vector),它们是LineTrace的起点。

  • 再找到追踪的终点,就可开始Line Trace(起点和终点还要加上Actor自身的Location,相当于Local→World)。

  • 返回的Out Hit中拿到Location便可加到一个新的Vector Array中(这个要是局部变量,这样每帧得到的都是新的)。

  • 在For Loop的Completed阶段用Draw Debug String来显示内容(也可以别的类型),输出一个白色的x,位置为Get Vector Array Average,即该切面的中心点。

蓝图如下:

进阶版:若希望这个切面不只是水平面,还可以换成其它角度。加一个Plane进来,蓝图如下这样改,旋转Plane即可调整切面的角度(理论上还可以继续优化,因为没把Plane的位移算进去)。

蓝图如下:

该回答由UWA提供,欢迎大家转至社区交流

https://answer.uwa4d.com/question/67fc7dac3d306f3e9d594ebf

Script

Q:在左右横屏切换之后,原本设置的安全区位置出现了错位,请问是什么原因呢?

A:该现象确认为UE的Bug,已在5.2中解决,可参考:

Unreal Engine Issues and Bug Tracker (UE-170632)


https://issues.unrealengine.com/issue/UE-170632

之前版本不修改源码解决该问题的方法:在屏幕旋转时,手动触发安全区更新。

实现的关键点包括:

  • 安全区更新。可以通过全局代理触发:


  • 获取屏幕旋转事件。屏幕旋转时会触发代理广播,因此可以将相应函数绑定至该代理:


另外,对于移动平台,可以直接使用PlatfromGameInstance提供的委托,在蓝图中绑定相应事件:

自己的GI类中可以做类似的实现:

基于以上关键点,项目组可根据自身项目需求进行实现。

实现参考:

1. 创建PlaftormGameInstance,并替换为项目使用的GI。

2. 创建UBlueprintFunctionLibrary类,并在其中实现函数,该函数用来触发FCoreDelegates::OnSafeFrameChangedEvent.Broadcast()。

3. 在UI中,实现以下蓝图,注意其中对函数库中更新函数的调用需要延迟调用。

针对该Bug的源码变化:

5.2版本源码中的修改:

5.2版本之前:

该回答由UWA提供欢迎大家转至社区交流

https://answer.uwa4d.com/question/67fc7e5a3d306f3e9d594ec0

封面图来源于网络

今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

近期精彩回顾

绕过新手陷阱,用Unity思维玩转UE5

【厚积薄发】UE纹理设置详解与优化指南

【万象更新】特效的GPU压力该如何解决?

【学堂上新】从零打造Unity 3D资源管理与全热更框架!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中央决定:李孝振履新职

中央决定:李孝振履新职

上观新闻
2026-07-04 10:42:48
Sana凑崎纱夏

Sana凑崎纱夏

乡野小珥
2026-07-04 20:14:13
一位退休老人总结的话,金子般的6句话,看完整个人通透了!

一位退休老人总结的话,金子般的6句话,看完整个人通透了!

风起见你
2026-06-13 19:02:08
厨师忘关油锅致餐馆失火严重受损,写下“每月扣3000元工资直到赔清为止”欠条被老板撕掉:意外谁也不想发生,继续好好干一起面对未来

厨师忘关油锅致餐馆失火严重受损,写下“每月扣3000元工资直到赔清为止”欠条被老板撕掉:意外谁也不想发生,继续好好干一起面对未来

极目新闻
2026-07-04 20:39:05
饮料含甜蜜素被美国“预警进口”!娃哈哈:经销商私自出口

饮料含甜蜜素被美国“预警进口”!娃哈哈:经销商私自出口

南方都市报
2026-07-03 17:22:32
失业互助群是我加入最恶心的群,没有之一

失业互助群是我加入最恶心的群,没有之一

我有一盐
2026-06-22 23:05:21
被巴西队忽视的中场大师,却被西班牙队视若珍宝,32岁才登上巅峰

被巴西队忽视的中场大师,却被西班牙队视若珍宝,32岁才登上巅峰

足篮大世界
2026-07-04 23:10:04
严总出事才三天,西安赛格再迎3个坏消息,这下事闹大了

严总出事才三天,西安赛格再迎3个坏消息,这下事闹大了

糖逗在娱乐
2026-07-04 08:58:43
44岁车晓搬离北京别墅,晒新家空间不大家具也不多,装修十分普通

44岁车晓搬离北京别墅,晒新家空间不大家具也不多,装修十分普通

八怪娱
2026-07-04 10:13:57
韩红「走个热面」,《抓特务》更冷:那个装腔作势的「京圈」,终于没人拜了……

韩红「走个热面」,《抓特务》更冷:那个装腔作势的「京圈」,终于没人拜了……

家传编辑部
2026-06-25 10:00:51
万斯:一个“聪明过头”的MAGA伪装者

万斯:一个“聪明过头”的MAGA伪装者

我有一盐
2026-07-04 23:40:35
小糯米五官长开后,完全复刻了年少时期杨幂的模样,灵动眉眼

小糯米五官长开后,完全复刻了年少时期杨幂的模样,灵动眉眼

小椰的奶奶
2026-07-04 16:10:15
央媒点名广州严查楼盘偷面积,市场多方矛盾爆发,风险隐患或失控

央媒点名广州严查楼盘偷面积,市场多方矛盾爆发,风险隐患或失控

坠入二次元的海洋
2026-07-04 20:56:57
利马:如果不是女儿在我伤病期间降生,可能不会踏上球场了

利马:如果不是女儿在我伤病期间降生,可能不会踏上球场了

懂球帝
2026-07-04 15:29:07
保罗:哈登加兰交易或成詹皇回归骑士阻碍

保罗:哈登加兰交易或成詹皇回归骑士阻碍

坠入温柔晚风
2026-07-04 00:02:26
千万不要小瞧,普通人家庭存款,只要达到这个级别,你已经幸运了

千万不要小瞧,普通人家庭存款,只要达到这个级别,你已经幸运了

白浅娱乐聊
2026-07-04 00:24:47
拥抱球王!40岁佛得角门神哭了 封神之路:单场7扑+8扑 逼疯3冠军

拥抱球王!40岁佛得角门神哭了 封神之路:单场7扑+8扑 逼疯3冠军

念洲
2026-07-04 10:58:10
国家在江门布下惊天大局,江门真正的王牌正在悄悄崛起

国家在江门布下惊天大局,江门真正的王牌正在悄悄崛起

三农老历
2026-07-04 14:45:03
堂妹高考685分嘲笑我考了596分,我上大学,她的结果让人出乎意料

堂妹高考685分嘲笑我考了596分,我上大学,她的结果让人出乎意料

程哥讲堂
2025-06-18 15:46:06
死打前线太呆板,俄军终于开窍了:事实证明,俄军早就该打火车头

死打前线太呆板,俄军终于开窍了:事实证明,俄军早就该打火车头

夏末moent
2026-07-02 21:13:58
2026-07-05 01:03:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1593文章数 987关注度
往期回顾 全部

科技要闻

韬定律论文V2版,充工程细节和实测数据

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

体育要闻

揭法国锋线最大优势 有人比姆巴佩还快?

娱乐要闻

白鹿打戏抠图惹非议 连累丞磊遭扒皮

财经要闻

韩国股市杠杆失控:450亿美元资金狂飙

汽车要闻

方程豹钛9内饰曝光 用上了长联屏设计/下半年上市

态度原创

本地
教育
亲子
旅游
艺术

本地新闻

国内足球之旅?这座小城给你高分答案

教育要闻

参考!2026年高考分数对应2025年同位分!

亲子要闻

爷爷给一个月宝宝的科普小课堂:怎么预防近视?

旅游要闻

聊城市旅行社协会成立凝聚行业合力共促水城文旅高质量发展

艺术要闻

为什么时尚圈集体“失语”?只因这个男人的镜头,太敢拍了!

无障碍浏览 进入关怀版