【Unity学习笔记】TextMeshPro文档(二)

本人英语渣渣结合<百度翻译>翻译,稍微删减了些自认为可以忽视的部分,原文地址 http://digitalnativestudios.com/textmeshpro/docs/font/

Font Assets

TextMesh Pro有它自己的资产格式。当你添加一个字体(通常是一个TTF格式的文件)到Unity项目中时,Unity将会把它作为字体资产(font asset)导入。然后你可以使用Font Asset Creator去把该字体创建为TestMesh Pro的字体资产。然后你就不再需要那个TTF的资产了。当然辣,最好把它留在项目里面,以防需要重建字体资产。

1 Font Asset Creator

可以通过Window>TextMeshPro>Font Asset Creator打开TestMesh Pro字体创建面板。该窗口提供了一些字体设置、生成按钮、纹理预览和保存新字体资产的按钮。
在这里插入图片描述
默认情况下,该面板配置用于创建signed distance field (SDF)字体资产。给这些字体生成的字体纹理包含轮廓距离信息,这些信息看起来像是灰度渐变。当使用这却的shader渲染时,可以生成高质量的文字,并支持轮廓和阴影等效果。

当存储字体资产时,你要将它们放入指定的文件夹,文件夹在settings asset中设置。这可以确保TestMesh Pro可以找到它们并在在发布时把它们包含在内。

1.1 Font Source

你必须选择一个要用于生成TextMesh Pro字体资产(font asset)的字体。该字体资源只需要用于生成字体资产(font asset)。它不会被包含到发布中,除非你在别的地方使用了它或者把它放入了Resources文件夹中。

1.2 Font Size

你可以控制用于生成字体纹理的字体点(font’s point size)大小。你既可以手动设置一个自定义大小(custom size)也可以选择自动生成大小(auto sizing)。Auto sizing将会尽可能使用最大的点(point)大小同时任然适合纹理上的所有字符。通常将Auto Sizing用于SDF字体,当你想要像素精确控制位图字体时使用Custom Size。
在这里插入图片描述

1.3 Font Padding

字体纹理里的字符之间需要一些间隙,以便可以单独渲染它们。这些间隙以像素为单位指定。下面三图分别是padding为0,5,10的效果:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
padding还为SDF渐变创建空间。填充越大,过渡就越平滑,这样可以实现更高质量的渲染和更大(范围)的效果,如粗轮廓。对于512x512纹理,填充5通常是很好的。

1.4 Packing Method

Optimum packing 将会找到最大可能的自动字体大小,并仍然满足纹理上的所有字符。
Fast packing会快些,但是最终可能会使用一个更小的字体大小。通常在你对最终结果尝试设置和优化时使用fast。

1.5 Atlas Resolution

“使用SFD字体时,分辨率越高,渐变越细,生成的文本质量就越高。对于大多数字体,当包含所有ASCII字符时,512x512纹理分辨率很好。(百度翻译)”

当你需要支持数千个字符时,你必须使用大的纹理。但即使是在最高分辨率下,也可能无法适应所有内容。在这种情况下,可以将字符分到多个字体资产中。将最常用的字符放在主字体资产(main font asset)中,其他字符放在备用字体资产(fallback font assets)中。

1.6 Character Set

字体文件中的字符不会自动包含在字体资产中。你必须指定你需要哪些字符。您可以选择几个预定义的字符集,也可以自己提供字符列表。

预设包括ASCII和扩展ASCII字符集的可见字符。您还可以选择ASCII的常用子集,仅限于小写、大写,并且仅限于数字和符号。

其他选项使您可以完全控制要包含哪些字符。可以使用十六进制数字中的任意一个十进制数字指定字符范围。或者可以显式列出每个字符。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
你也可以使用包含所有你想要的文字的文本资源,这允许你去保存你的字符集。
在这里插入图片描述
记得要把空格字符包含进去,除非你不需要它。

1.7 Font Style

您可以在几种不同的字体样式之间进行选择。这些设置仅适用于位图字体。您可以通过shader来配置SDF字体的样式。您可以在粗体、斜体、粗体加斜体和轮廓之间进行选择。你可以控制粗体和轮廓的强度。

1.8 Font Render Mode

distance field模式创建SDF纹理以与SDF shader一起使用。字符以高分辨率采样去创建良好的渐变。16x是默认值,对于通常的使用是足够的。32x生成速度较慢,但对于复杂或较小的字符可以生成更好的质量。

其他模式直接将字符渲染到位图,以便与仅位图字体一起使用。Raster不使用抗锯齿,而sniitg模式使用。两者都有一个带有暗示的变体模式,它将字符像素与纹理像素对齐,以获得更清晰的结果。

1.9 Get Kerning Pairs?

“您可以选择从字体复制紧排数据。这些数据用于调整特定字符对之间的间距,以产生更直观的结果。请注意,许多字体没有紧排对。”

2 Font Asset

TextMesh Pro字体资产(font Asset)包含TextMesh Pro布局和渲染文本所需的所有信息。
在这里插入图片描述

2.1 Face Info

Face info包含关于字体资产(Font Asset)的信息。你可以看见原始字体的名字,用于生成字体资产的point size 和padding。这些值不能被编辑。

还有有一些从字体中提取一些度量(metrics),你可以调整这些度量来微调字体或纠正奇怪的值。有时字体设计有奇怪的度量(metrics),你必须调整使其可用。

line metrics
基线(baseline)是字符所在的水平线。ascender描述字符可以延伸到基线以上的距离,这也定义了行的顶部。descender也这样做,但低于基线。line height定义了连续行顶部之间的距离(当前行和下一行的top差)。如果它的大小大于ascender和descender的总和,行之间将会有一个间隙。如果它更小,那么来自不同行的字符可能会重叠。

underline指定相对于基线的下划线放置位置。

superscript和subscript offsets用于调整上标(superscript)和下标(subscript)文本的基线。它们的大小是相对于正常字体大小来缩放此类文本的一个因素。

2.2 Font Sub-Assets

Each font asset also contains two sub-assets. These are its texture atlas and its default material. You should not edit these directly.
每个字体资产还包含俩子资产,它们是字体资产的贴图字体集和默认材质。你不应该直接编辑它们。
在这里插入图片描述

2.3 Font Weights

您可以控制粗体和斜体如何更改字体的外观。可以为粗体、斜体和带斜体的粗体字体变体选择不同的字体资源。如果不指定字体变体,将使用假粗体(fake bold)和斜体。
在这里插入图片描述
您还可以调整文本的权重(weight)和间距(spacing)。权重将添加到SDF shaders使用的dilation中。将spacing添加到字符之间的间距中。您可以为普通和假粗体样式定义这些值。

斜体样式用于通过让字符sprite倾斜来创建假斜体字体变体。你可以控制这个效果的强度。

Tab Multiple控制制表符的大小。它被定义为字体的空格字符宽度的倍数。

2.4 Fallback Font Assets

每个字体资产包含有限数量的字符。有时,您使用的字体缺少所需的字符。发生这种情况时,将搜索备份字体列表,直到找到包含缺少字符的字体。然后文本对象将使用该字体来呈现它。
在这里插入图片描述
你也可以使用此功能在多个纹理上分布字体。或者对某些字符自动使用不同的字体。但是,请记住,在列表中搜索缺少的字符需要额外的工作。另外,额外的字体需要额外的draw调用。

2.5 Glyph Info

在这里,你可以检查字体中每个字符的数据,并在必要时对其进行调整。字符列表被拆分为多个页面,您可以通过顶部和底部的按钮浏览这些页面。也可以根据字符代码筛选列表。单击某个条目使其处于活动状态。这允许您编辑、复制和删除它。

在这里插入图片描述
X,Y,W和H决定字符图集中字符矩阵区域。~~OX和OY偏移控制角色精灵的放置,精灵定义在相对于基线原点的左上角 。ADV值控制放置下一个角色之前沿基线前进的距离。最后,SF是一个比例因子,您可以使用它来调整字符的大小。

2.6 Kerning Table Info

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值