在项目进行到末期的时候,突然发现一个问题
因为一些原因,我们需要在UI层开启Post Process Layer渲染相机图像来达到抗锯齿的效果。
其实原理就是给边缘进行模糊处理。但同样在UI层的文字也被模糊了,并被糊成一团:
因为需要做多语言,所以字体库的文字数量较多,被挤到一起,导致单个文字空间变小。这时再开启抗锯齿效果,文字自然糊在一起。
这是我们处理之后的文字显示效果
优化步骤:
一:测试是否是因为字数过多产生的问题
1:打开Unity中的Window>TextMeshPro>Font Asset Creator
打一个只有英文字母的图集,并固定文字尺寸(自动尺寸时,文字大小会随字体多而变小,少而放大)
若有好转,记录下固定文字的大小和间隔(间隔不可过小,间隔过小会导致字体描边变细。)
二:筛选字库中的重复文字,并删除。使2048*2048图集大小下,文字固定大小可以放下。
尽量不要大于2048*2048,因为市面上的一些设备会不支持超过2048*2048的字体图集,就会导致一些设备上的字体缺失。
三:保持和测试时一样的文字大小和间隔,将Character Set设置为Characters from File
注意,文字这里的Render Mode最好设置为SDFAA,这样文字自身带了一层抗锯齿,导出的效果会更有保障。
以上就是单独给文字做抗锯齿的所有步骤啦,谢谢观看。