【CocosTextMeshPro】衍生贴,对CocosCreator不吐不快的槽点

原贴地址:【CocosTextMeshPro】一个文本渲染解决方案——支持字体颜色渐变、斜体、下划线、删除线、描边、镂空、阴影、辉光、顶点动画、新的排版模式

在做CocosTextMeshPro的过程中,遇到了来源于引擎和文档的几个问题,不吐不快,所以在此列举一下。

  1. Cocos源码Label实现中当BMFont的overflow为clamp时,若高度小于字体大小,会导致uv计算错误,此bug从2.x到最新的3.6一直存在,我在官方仓库2.4.10分支和3.6.1分支分别提了修复的PR,希望有个反馈。
    https://github.com/cocos/cocos-engine/pull/12374
    https://github.com/cocos/cocos-engine/pull/12373

    bug如下所示,string只有123和换行符,但是却渲染出了问号等不该出现的符号

    v3.6.0的demo:bmfont.zip (3.7 MB)

  2. Cocos源码对于BMFont的实现从2.x到最新的3.6一直存在下图这样的代码,虽说不影响什么,但是这样的代码风格真的很烂。

    以3.6.1分支为例:https://github.com/cocos/cocos-engine/blob/v3.6.1/cocos/2d/assembler/label/bmfontUtils.ts

    image

  3. 在2.4文档此处少了一个空格,导致我误以为正确写法就是不该加空格的,浪费了很多时间。正确写法应该是multiline auto-height
    文档地址:ui-prop 参考 · Cocos Creator

1赞

有许多问题是好多年了依然存在,官方一直都很忙的样子,习惯了 :cold_face:

1赞

同感,广告做的不错,实际上,看看越南和中国的差距,那就不是一点半点的差距。。。

非常感谢反馈,这三个问题都是我第一次看到,已转发小伙伴进行跟进。

官方很忙。


这个是问题吗?请回应一下。

模拟器中的中文字体渲染错误

mask 作者 我目前跟你用2.4.10 发现了一个问题

这个字符并没有高度居中 看了下源码 /2 感觉不对 所有这里我做了一下 修改 改成/4 其实把线段分成4分 取第一个 才是高度居中
修复后正常了 不过应该有很多位置 我这里只能用那 处理那个

我自己测试的时候是居中的,能把你那边不居中的字体文件发出来给我看看吗

方正粗圆简体.ttf方正粗圆简体.zip (1.4 MB)