Unity 自定义字体 Custom Font 原理 二

来源:互联网 发布:linux 根目录清理 编辑:程序博客网 时间:2024/05/18 03:26

Unity 自定义字体 Custom Font 原理 二

接上一篇做好的自定义字体库,以它为例
这里写图片描述

选中字体库,在Inspector面板显示出来它的所有属性
下面挑选几个属性:

(1)Ascii Start Offset : 开始Ascii码
(2)Kerning : 字符间隔
(3)Default Material : 该字体库用到的材质,该字体库用到的所有字符,都要在材质球的贴图上,否则无法获取字符。
(4)查看材质球的贴图
这里写图片描述

(5)Character Rects : 该属性下定义的是数组,本例是 10 项
看每一项包含的参数:
这里写图片描述
(5.1)index : Ascii Start Offset + Index 的值即为所代表字符的 Ascii 码,
本例中 Ascii Start Offset = 0, index = 48, 相加为 48,在字符里边 数字 0 的Ascii 为 48,(说明此处的信息是字符 0 在贴图上的信息)
(5.2)UV (Shader里边的知识点,不做解释),字符在 贴图上的 UV 信息,x,y坐标,宽高。
(5.3)Vert (顶点信息,Shader里边的知识点,不做解释),字符在贴图上的顶点信息 x,y坐标, 宽高
(5.4)Wdth:字符在贴图上的宽度
(5.5)Flipped:翻转字符,一般不选

同理:第二项Index = 49,也即是指 Ascii 码为 49 (数字 1)的信息
直到最后一项 57 ,看到这估计就明白了,该字库包含了 10 个字符的 贴图信息,也就是这个字库中 0 - 9 这 10 个字符的信息
这里写图片描述

在 Text 中输入字符时,会从字体库中去 按照 上面的 Ascii 码,UV,Vert等信息去贴图中读取输入的字符,

对 BMFont 了解的同学估计就有点似曾相识了,NGUI中使用的静态字库的原理就是这样,通过UV 偏移等信息读取字符

下一篇说一下 UGUI 使用 BMFont 制作的静态字库和 自定义 Custom Font字体库的方法

0 0
原创粉丝点击