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

2023-10-14 15:30

本文主要是介绍【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

这篇关于【Unity学习笔记】TextMeshPro文档(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/211400

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能