在TMP中计算书名号《》高度的问题

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


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

UI

Q:如下图所示,输入的文字中有书名号,但使用ContentSIzeFitter计算得到的高度是错误的(貌似它计算的比实际少,导致没换行):

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

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

A:好像是对东亚语言有特殊处理,都会换行。不确定是不是这儿的原因,输入"你好"两字也是一样的效果,可以在这儿改改试试。

把这行注释掉就没问题了,但我不保证没其他问题,因为要把TMP的包导入项目里,源码会少算了换行第一个字符的长度,GeneratedMesh和PreferedHeight是分开算的,所以显示和高度计算不一样,GeneratedMesh是对的,这是Unity自己的Bug,后面几个版本修复了,估计还是得想办法升级TMP的版本。

参考文档:
Changelog | TextMeshPro | 3.2.0-pre.9

感谢萌呆瞎@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)

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


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

相关推荐
I'm Jie5 小时前
Swagger UI 本地化部署,解决 FastAPI Swagger UI 依赖外部 CDN 加载失败问题
python·ui·fastapi·swagger·swagger ui
爱学习的程序媛6 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
爱学习的程序媛7 小时前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验
紫丁香7 小时前
Selenium自动化测试详解1
python·selenium·测试工具·ui
GISer_Jing7 小时前
前端组件库——shadcn/ui:轻量、自由、可拥有,解锁前端组件库的AI时代未来
前端·人工智能·ui
rjc_lihui10 小时前
IntelliSense: 无法打开 源 文件 “ui_mainwindow.h“ demo\qtdemosrc\mainwindow
ui
難釋懷10 小时前
初识Lua
开发语言·junit·lua
難釋懷10 小时前
Lua语法入门
junit·bootstrap·lua
liulilittle1 天前
范围随机算法实现
开发语言·c++·算法·lua·c·js
老星*1 天前
Lucide Icons:开源、轻量、设计师友好的现代图标库
ui·开源·github