cocos / cocos-engine

Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-performance, engaging 2D/3D games and instant web entertainment.
https://www.cocos.com/en/creator
Other
8.21k stars 1.94k forks source link

3.8.4里的Label描边和阴影异常 #17714

Open wiwile opened 2 weeks ago

wiwile commented 2 weeks ago

Cocos Creator version

3.8.2, 3.8.4

System information

win10,ios,android

Issue description

在游戏UI中常常会在label里同时添加描边和实阴影效果,但我发现在3.8.4中发现其label的阴影效果与3.8.2的计算有差异,个人觉得3.8.2的阴影大小计算方式比较合理,阴影的大小会受描边影响,很多BMFONT的工具也是这么做。现在3.8.4里,阴影的大小只计算了字体本身,没有计算描边带来的影响。 3.8.2中的效果 1728960168423 3.8.4中的效果 1728959918579

Relevant error log output

No response

Steps to reproduce

在3.8.2和3.8.4中,对label同时开启描边和阴影,效果就可以直观对比

Minimal reproduction project

No response

tangkaikk commented 2 weeks ago

请参考https://github.com/cocos/cocos-engine/issues/16666,是因为之前的阴影就有问题呢。你试试把labeloutline设置为0看看,大概率labeloutline导致

wiwile commented 2 weeks ago

@tangkaikk 就是这个大聪明提了PR,合并了之后才会出现在的问题。在同时设置描边阴影的时候,它先对文本绘制了阴影,然后再绘制描边,导致现在阴影现在那么的怪异。

wiwile commented 1 week ago

微信截图_20241020122934 @tangkaikk 在3.8.2里面,同时开启描边和阴影,我是这么设置的,同样的设置,你可以在3.8.3或3.8.4里面看看效果。我的理解,阴影正确的流程:应该在绘制描边后,再绘制阴影(即阴影的大小应该包含描边,在一些BMFONT生成工具里也是如此,如https://snowb.org/)。 微信截图_20241020123856