mirror of
https://git.chinosk6.cn/chinosk/gkms-localify-dmm.git
synced 2026-10-06 05:18:06 +07:00
937c45ba8c59def05ea2e9a1fa1566569729d3b8
游戏的 TMP_FontAsset 是全局共享的 Dynamic 资产,特效大字与普通 UI 共用同一张 2048² 图集,单页只装约 735 个字形,主页几屏就会溢出到 第 1 页。第 1 页字形拿到第二个材质进入 meshInfo[1],而特效文字组件 只提交 meshInfo[0],于是这些字消失(保留 advance,表现为空格)。 修法(UpdateFont): - 替换字体时把图集抬到 4096²(约 2900 字形),开启多图集; - 用 ClearFontAssetData(false) 代替 UpdateFontAssetData,后者会把 原字符表全集重新加回来白占第 0 页; - 清空后广播 ON_FONT_PROPERTY_CHANGED,让已生成网格的文字重排, 否则 ruby 等先排版的文字会拿着失效的图集坐标显示错字或空白; - 以 (fontAsset 地址, InstanceID, sourceFont InstanceID) 追踪资产, 只有真正新资产才重建;Resources.UnloadUnusedAssets 回收替换字体 后重新赋值即可,不再清空图集。 - 图集溢出到第 1 页时记录错误日志,便于观察天花板。 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
gkms-localify-dmm
- Gakumas Localify DMM Version
Languages
C++
88.1%
C
11.7%
Assembly
0.1%