前言,这是笔者Text Mesh Pro 系列中的第二篇文章,本章将讲述在Text Mesh Pro中 图片字体文件的创建,因为在实际开发中,图文混排会经常的使用。所以创建图片这种特殊的字体也是不可或缺的步骤。
如有不准确或错误的地方欢迎留言指正
开发环境
- Unity 2018.4.4
- Text Mesh Pro 1.4
想要创建对应的图片字体文件,你需要一张含有多个图标的图片,如下图

然后把对应的图片切割好,右键创建图片字体


这样我们的图片字体就创建好了,但是这个图片字体还不能直接使用,需要放到指定的文件夹,这个默认文件夹的路径在TMP Settings序列化文件中设置


如果没有指定对应的Sprite Asset文件,将使用默认的图片字体文件(当然这个默认图片字体文件EmojiOne也可以按照我们的需求自行更改),随后我们创建的Sprite Asset文件(也就是图片字体文件)放入到指定的文件夹中

接下来让我们看一下Sprite Asset 文件,和字体文件类似,可以调整对应的宽高、偏移量、缩放、名称、索引等信息,如果在输入的过程中发现有位置等不准确的地方可以调整对应的参数。
当然,如果发现需要查看的文件过多,可是使用快捷键 Shift+page按钮,可以一次性跳转10页

如果同种图片要使用不同尺寸或者不同偏移量的情况下,可以点击对应资源中的+号,创建一个新的资源映射,避免使用多份图片造成原始图片文件过大。“-”号对应的就是删除

在最下端也有一个批量更改对应参数的地方

然后把对应的Spritre Asset拖入到对应的选项中,输入对应的字符,图文混排就完成了
New Text
图片1为<sprite=0>下一个
图片2为<sprite=1>下一个
图片3为<sprite=2>下一个
图片4为<sprite=3>下一个
图片5为<sprite=4>下一个

进阶
当然,对应图文编码还有其他格式,这是为什么要让SpriteAsset放在指定文件夹下的原因
具体字符格式如下
指定图片下的某个索引<sprite="spriteicons" index=98>与<sprite="Default Sprite Asset" index=6>
指定图片下的某个名称<sprite="Default Sprite Asset" name="Unity Logo">与<sprite="spriteicons" name="spriteicons_9">
指定图片的颜色<sprite="spriteicons" index=98 color=#55CF4E>和含有透明度<sprite="Default Sprite Asset" index=6 color=#F14FE264>
图片的颜色随组件控制<sprite="spriteicons" name="spriteicons_9" tint=1 color=#FFFFFFFF>
图片的颜色不跟随随组件控制<sprite="spriteicons" name="spriteicons_9" color=#FFFFFF80 tint=0>
图片的颜色不跟随随组件控制<sprite="spriteicons" name="spriteicons_13">
效果如下

本章讲解先到这

网友评论