U4S5L13——其他设置
U4S5L13——其他设置
备用字体资源
每个字体资源都包含有限数量的字符。当您使用当前字体资源不包含的字符时,
TMP会搜索回退字体列表,直到找到包含该字体资源的字体资源。
然后,TMP 对象使用该字体来呈现字符
Fallback List:列出所有备用字体资产
当主字体中缺少某些字符时,系统会按顺序尝试使用这些备用字体进行查找
备用字体资源可以结合字体变体来做,对一个 TMP_Font Asset 右键 Create ——> TextMeshPro ——> Font Asset Variant 即可创建该字体的变体
变体字体资源可以设置其 Source Font File: 字体文件,然后更改为其他字体(包括原字体缺失字符的字体),以解决原字体缺失某些字符的情况
然后将该字体关联到原字体的 Fallback List 上,这样,即可拓展一个字体的显示字符
例如,对一个英文字体拓展中文,可以使用引用了中文字体的字体变体,然后将该字体关联到 Fallback List 上即可
字符表
可以修改字符的信息,包括 Unicode 编号,在图形中的ID,缩放等 ...
U4S5L12——字体粗细
U4S5L12——字体粗细
字体粗细
主要用于控制字体粗体、斜体等情况下的文本外观
可以通过关联对应的字体资源进行设置不同情况下使用的内容
Regular Typeface:常规字体
ltalic Typeface:斜体字体
100 - thin: 细
200 - Extra - Light:超轻
300 - Light:轻
以微软雅黑MSYH为例,导入微软雅黑时同时会导入MSYHL,
MSYHL就是微软雅黑的轻版本,因此可以直接将其关联到该选项上
400 - Regular:常规(仅限斜体)
500 - Medium:中
600 - Semi - Bold:半粗
700 - Bold:粗体
以微软雅黑MSYH为例,导入微软雅黑时同时会导入MSYHBD,
MSYHBD就是微软雅黑的粗体版本,因此可以直接将其关联到该选项上
800 - Heavy:粗
900 - Black:黑体
Normal Weight:正常粗细
没有字体资源用时使用的常规字体粗细
Bold Weight:粗体粗细
没有字体资源用时使用的粗体字体粗 ...
U4S5L11——生成设置和图集纹理
U4S5L11——生成设置和图集纹理
生成设置
主要用来设置字体资源使用的纹理是动态生成的还是静态生成的
Source Font File: 字体文件
Atlas Population Mode: 纹理图集生成方式
Static:静态模式
字体集在创建时需要一个固定的纹理图集,适合字符已知且不需要动态变化的情况。
如果你的游戏不存在中文,只有类似英文这种少量字符组成的文字时可以使用
如果使用静态模式,则会使用 Font Asset Creater 生成的字体资源
Dynamic:动态模式
字体纹理图集会在运行时根据需要动态生成,可以显示更多的字符
适合中文项目,或者多语言项目
Atlas Render Mode:字体渲染模式
一般选择 SDF 相关的渲染模式,SDF 是 Signed Distance Field 的缩写,即带符号的距离场,在字体渲染中,SDF 是一种用于表示文本形状和边缘信息的技术,详见:U4S5L19——SDF 材质球和参数设置
SMOOTH_HINTED:抗锯齿位图,字符像素和纹理像素对齐,以获得更清晰的结果,通常用于 ...
U4S5L10——基本信息设置
U4S5L10——基本信息设置
字体资源基本信息设置
基本信息设置,这些数据一般不需要我们手动设置,会自动帮我们生成
我们只需要了解它们的含义,如果有特殊需求需要修改,我们需要知道其含义才能进行修改
Update Atlas Texture:更新纹理图集
点击该按钮后,可以打开一个新窗口
用于配置字体的图集纹理信息,主要用于生成静态字体资源
关于该窗口,详见下文:字体资源创建器 Font Asset Creator
Family Name:字体名称
无法手动修改,创建字体资源的默认设置
Style Name:样式名称
无法手动修改,创建字体资源的默认设置
Point Size:字体大小(以磅Point,简写pt为单位)
无法手动修改,创建字体资源的默认设置
1磅即1/72英寸(约0.353毫米)
在字体设计中一般用来表示字体的高度
这个单位是一种用于测量字体大小和印刷文本的单位
Scale:缩放
对字体进行缩放,1为原始大小
Line Height:行高
表示每行文本的高度,通常是基于最大字形的高度计算的
它决定了两行文本之间的距离
若 Line Hei ...
U4S5L9——字体资源创建的基本流程
U4S5L9——字体资源创建的基本流程
TMP字体资源
要在 TextMesh Pro 中使用不同的字体,需要自行创建字体资源。
TextMesh Pro 有自己的字体资源格式,该格式不同于 Unity 的常规字体资源格式,但与 Unity 的常规字体资源格式 相关
对于TMP显示中文来说,创建字体资源这一步是必不可少的,我们需要自己创建包含中文的字体资源!
字体资源创建的基本流程
方式一:基于字体文件进行字体资源创建(常用)
导入字体文件(后缀为 .ttf 或 .otf 格式的文件),可以放在 TextMesh Pro 下的 Fonts 文件夹内
选中该字体,右键 ——> Create ——> TextMeshPro ——> Font Asset
创建完毕后,字体资源一般放在文件夹 TextMesh Pro ——> Resources ——> Fonts & Materials
方式二:直接打开创建字体资源窗口创建
关于该窗口,详见:Font Asset Creator
字体资源配置基本结构
基本信息 ...
U4S5L8——3D文本相关
U4S5L8——3D文本相关
3D文本和UI文本的区别
组件不同
3D文本:TextMeshPro
UI文本:TextMeshProUGUI
用途不同
3D文本:主要用于在3D场景显示文字
UI文本:主要用于在UI中显示文字,具备UI相关的一些属性
渲染方式
3D文本:直接渲染在场景上
UI文本:通过UGUI的 Canvas 系统渲染
交互方式
3D文本:一般通过添加碰撞器进行碰撞检测判断交互
UI文本:一般利用UI系统的交互规则,例如 EventTrigger
如何选择:
文本需要与3D场景交互需要在3D场景上显示,选择 3D 文本 TextMeshPro,就把它当成3D物体处理即可
文本需要在UI系统中使用,选择 TextMeshProUGUI,就把它当成UI组件处理即可
创建3D文本
在 Hierarchy 窗口上右键:3D Object ——> Text - TextMeshPro 即可创建3D文本
显示效果:
3D文本参数相关
和UI文本相关参数几乎一致,因此可以直接参考 TextMeshProUGUI
...
U4S5L7——脚本控制TMP
U4S5L7——脚本控制TMP
本章代码关键字
12345678910111213TMPro //TextMeshPro相关组件的命名空间TextMeshProUGUI //TextMeshPro的UI文本组件textMeshProUGUI.text //显示文本textMeshProUGUI.font //字体textMeshProUGUI.fontSize //字体大小textMeshProUGUI.color //字体颜色textMeshProUGUI.alignment //对齐方式textMeshProUGUI.lineSpacing //行间距textMeshProUGUI.richText //是否启用富文本textMeshProUGUI.SetText() //设置显 ...
U4S5L6——额外设置相关
U4S5L6——额外设置相关
额外设置相关
Margins:边缘设置,设置文本和文本容器之间的间距
可以设置文本和文本容器之间的间距,负值会让文本超出边框
也可以在Scene窗口中直接操作黄色边框
Geometry Sorting:几何排序,决定TMP重合时如何进行排序
Normal:按照显示顺序排序
Reverse:按相反的书顺序绘制四边形
重合时,离摄像机远的显示在前边
Is Scale Static:告诉TMP文本系统该文本是否发生缩放相关变化
如果勾选此选项,TMP会跳过与缩放相关的计算,
从而减少CPU和GPU的负担,提高性能
适用于在场景中缩放比例固定的文本对象
Rich Text:是否开启富文本,默认开启
开启后可以识别富文本相关的关键字
富文本相关详见:U4S5L14——富文本标签
Raycast Target:射线检测目标
决定文本是否能被点击触摸等事件响应,
关闭后,触摸和点击会穿透
如果希望文本响应点击等事件,需要勾选
Maskable:是否能被遮罩裁剪
勾选时,TMP 会被 Mask 组件裁剪,取消勾选,无法被 ...
U4S5L5——包裹溢出、UV映射相关
U4S5L5——包裹溢出、UV映射相关
包裹或溢出相关
Wrapping:包裹
Disabled:禁用后,不会因为控件大小的变化而自动换行了
Enabled:启用后,当控件大小变化时,会自动换行去适应大小
Overflow:溢出
Overflow:溢出
扩展到显示区域外(但如果启用了包裹,会自动换行)
Ellipsis:省略
截断文本可视范围外内容,用省略号代替
Masking:遮罩
和 Overflow 类似,但是会隐藏显示区域以外的所有内容
Truncate:截断
超出范围的内容不再显示
Scroll Rect:滚动矩形(仅兼容旧版本)
此选项仅用于与较旧的 TextMeshPro 项目兼容
对于新项目,需要使用遮罩模式
Page:分页
将文本剪切成多个页面,每个页面都适合显示区域
选择此选项后,右侧可以控制要显示的页面
Linked:联系
将文本扩展到选择的另一个 TextMeshPro 游戏对象
此Text如果显示不完,将会在另一个联系的Text对象中显示
UV映射相关
这里的设置需要配合SDF材质球的基础纹理设 ...
U4S5L4——颜色、间距、对齐相关
U4S5L4——颜色、间距、对齐相关
颜色相关
Vertex Color:顶点颜色
材质和纹理的颜色会乘以该颜色,决定字体颜色
Color Gradient:颜色渐变,勾选后出现新的参数
Color Preset:颜色预设,详见:U4S5L16——颜色渐变预设
Color Mode:颜色模式
Single:和顶点颜色叠加
Horizontal Gradient:双色水平渐变
Vertical Gradient:双色垂直渐变
Four Corners Gradient:四色四角渐变
Colors:根据颜色模式决定有几个颜色设置
以 Four Corners Gradient 为例
显示效果:
Override Tags:启用此选项忽略任何富文本标记更改颜色,一般不勾选
富文本标签详见:U4S5L14——富文本标签
间距相关
Character:字符间距
Word:单词间距
Line:行间距(自动换行)
Paragraph:段落间距(段落有显式换行符定义)
对齐相关
第一行:水平对齐选项
从左往右数前三项 ...