问题
Unity 项目从 5.x 升级到 2018,基于 TextMesh Pro 实现的字体图集生成工具,因为 TextMesh Pro 被 Unity 内置到引擎里,不再提供DLL,导致工具编译失败。
原因
代码发生了变化,字体图集生成实现调用了不开放的接口,比如:
GlyphLoadFlags glyphLoadFlags = ((GlyphRasterModes)m_GlyphRenderMode & GlyphRasterModes.RASTER_MODE_HINTED) == GlyphRasterModes.RASTER_MODE_HINTED ? GlyphLoadFlags.LOAD_RENDER : GlyphLoadFlags.LOAD_RENDER | GlyphLoadFlags.LOAD_NO_HINTING;

解决
Unity 2018 内置的 TextMesh Pro 通过包管理器来进行调用,如果需要对其进行扩展,就不要使用官方自行下载的 TextMesh Pro 包,而是拷贝出来,当做本地包。


然后扩展的代码,也写在本地包里,写在新建的文件夹,方便之后不干扰 TextMesh Pro 升级。
链接
Unity TextMesh Pro 文本组件之字体图集生成工具 https://blog.youkuaiyun.com/akof1314/article/details/84890933
https://github.com/akof1314/UnityTMProFontCustomizedCreater/tree/2018.3
在Unity项目从5.x升级到2018版本后,原基于TextMeshPro的字体图集生成工具因调用不开放接口而失效。解决方案是通过包管理器调用内置TextMeshPro,并将扩展代码置于本地包中,避免干扰未来升级。
3135

被折叠的 条评论
为什么被折叠?



