关于ui:在TMP中计算书名号高度的问题

2次阅读

共计 2521 个字符,预计需要花费 7 分钟才能阅读完成。

1)在 TMP 中计算书名号《》高度的问题
2)FMOD 设置中对于 Virtual Channel Count&Real Channel Count 的参数疑难
3)Unity 2021.3.18f1 ParticleSystemTrailGeometryJob 粒子拖尾零碎解体
4)XLua 打包 Lua 文件粒度问题


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

UWA 社区主页:community.uwa4d.com
UWA QQ 群:465082844

UI

Q:如下图所示,输出的文字中有书名号,但应用 ContentSIzeFitter 计算失去的高度是谬误的(貌似它计算的比理论少,导致没换行):

而应用默认的 Text 就没这个问题(雷同的字体):

请问如何在 TMP 中计算书名号《》的高度?

A:如同是对东亚语言有非凡解决,都会换行。不确定是不是这儿的起因,输出“你好”两字也是一样的成果,能够在这儿改改试试。

把这行正文掉就没问题了,但我不保障没其余问题,因为要把 TMP 的包导入我的项目里,源码会少算了换行第一个字符的长度,GeneratedMesh 和 PreferedHeight 是离开算的,所以显示和高度计算不一样,GeneratedMesh 是对的,这是 Unity 本人的 Bug,前面几个版本修复了,预计还是得想方法降级 TMP 的版本。

参考文档:
https://docs.unity3d.com/Packages/com.unity.textmeshpro@3.2/c…

感激萌呆瞎 @UWA 问答社区提供了答复,欢送大家转至社区交换:

Audio

Q:FMOD 的设置中,我发现有两个设置选项:Virtual Channel Count 和 Real Channel Count。想求教一下,个别游戏我的项目内这两个值要设置多少才适合?我发现外网有人都是拉满的,但这会造成 CPU 累赘。只晓得 Real Channel Count 这个不能太高。所以想理解下通常这俩参数设置多少比拟正当。

下图来自外网论坛,Virtual Channel Count 设置为 512、Real Channel Count 设置为 128,而我的我的项目中这俩设置为 128、32。

A:Real Channel,如果设置成 32 对于 PC 来说是正好。对于挪动平台,32 应该也能跑。对于超古老的机器,能够思考设置成 16。

Real Channel 是同时播放的音频 Channel 数,如果同时播放的 Channel 超过这个数字,就会依据优先级把低优先级的音频停掉。理论我的项目中,极少同时播放如此之多的 Channel。如果真产生了,请认真优化音频播放逻辑。

感激 Zhang Ce@UWA 问答社区提供了答复

Crash

Q:Unity 2021.3.18f1 ParticleSystemTrailGeometryJob 粒子拖尾零碎解体。

信息如下:
解体手机:Galaxy S24 Ultra

操作系统:Android14

解体堆栈:

Crashed: Thread: SIGSEGV 0x0000007d2f34a900
#00 pc 0xb30240 libunity.so (ParticleSystemTrailGeometryJob::ConfigurePerParticleTrailParams(ParticleLineParameters&, ParticleSystemParticles const*, unsigned long, ParticleSystemTrailGeometryJob const&, float)) (BuildId: c89a8ec16cd55b42b7a6c100718f0e187c531fc3)
#01 pc 0xb29b08 libunity.so (ParticleSystemTrailGeometryJob::ConfigurePerParticleTrailParams(ParticleLineParameters&, ParticleSystemParticles const*, unsigned long, ParticleSystemTrailGeometryJob const&, float)) (BuildId: c89a8ec16cd55b42b7a6c100718f0e187c531fc3)
#02 pc 0xb136b8 libunity.so (ParticleSystemGeometryJob::RenderJobCommon(ParticleSystemGeometryJob&, void*, void*)) (BuildId: c89a8ec16cd55b42b7a6c100718f0e187c531fc3)
#03 pc 0x5d084 libc.so (BuildId: 37f537c2ba9dcbb262a0a68f41a21da4)

针对以上问题,有教训的敌人欢送转至社区交换分享:
https://answer.uwa4d.com/question/65d87ea040a8d93b624afce9


Lua

Q:目前我的项目中应用 XLua,Lua 文件个别是每个 Lua 文件都打一个 AssetBundle 包,还是所有 Lua 都打一个 AssetBundle 包里?直观感觉上每个 Lua 都独自打一个 AssetBundle 包比拟不便热更新。

A:如果 Lua 文件数量很多(十万级别),倡议不要打 Bundle,因为 Bundle Header 中要存储、反序列化的 Asset 信息过多,内存会吃不消,所以最好换成自定义的文件形式。参考星铁的 Lua。

如果数量少,间接一个 Bundle 就足够。这样加载也不便:从一个固定的 Bundle 里 Load Asset。

感激 James@UWA 问答社区提供了答复

封面图来源于网络


明天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,咱们遇到的问题只是冰山一角,UWA 社区愿伴你同行,一起摸索分享。欢送更多的开发者退出 UWA 社区。

UWA 官网:www.uwa4d.com
UWA 社区:community.uwa4d.com
UWA 学堂:edu.uwa4d.com
官网技术 QQ 群:465082844

正文完
 0