unity中的字体主要分为两大类:动态字体和静态字体。关于这两方面,下面是我个人一些简单思考:
一、静态字体
主要是用来做一些表现,即通常所说的美术字。项目中用的比较多的,应该是美术数字,即0-9。
对于UI很可能会将美术数字单独制作成一张图集,里面最多再包含一些特殊的符号,比如“,”、“:”等。
对于战斗场景,特别是像MMO或者RPG,战斗过程人物冒血、战力变化等,也许不仅仅是需要数字,还可能用到特殊的美术文字。在同屏人数较多的情况下,如果美术文字与美术数字分别单独占用一个图集将会造成大量的drawcall,这个时候如果将美术文字与美术数字制作到同一张图集中,将会极大减少不必要的drawcall。
二、动态字体
对于项目开发,动态字体带来的最大影响应该是对包体大小的影响,主要是因为动态字体中包含了大量的冗余字符。
比如:我想开发一款中文游戏,但是动态字库中包含了大量的韩文、日文等其他语言的字符,这个时候,如果将动态字库中不需要的语言字符剥离,将会大大减小包体的大小。另外,中文中有很多生僻字,很大程度上项目中也不会用到,也可将其剥离出去。具体的剥离方法,网上有很多现成的工具与方式,比如:http://gulu-dev.com/post/2017/2017-09-15-font-pruner-intro/content、https://blog.uwa4d.com/archives/Sparkle_Font.html
原文地址:https://www.cnblogs.com/luguoshuai/p/11306174.html
时间: 2024-10-03 15:48:32