Unity3d TextMeshPro教程

Unity3d TextMeshPro教程_第1张图片

TextMesh Pro是Unity默认文本组件的替代品。TextMesh Pro和默认组件一样拥有高性能,它使用了完全不同的Signed Distance Field(SDF)渲染技术,该技术最初由Valve在《军团要塞2》中使用。TextMesh Pro能够很轻松就能让文本看起来更美观,还提供了更高级的控制功能,你可以通过检视窗口和脚本控制文本效果。

当你在项目中使用TextMesh Pro,它拥有改进的视觉效果。由于使用SDF渲染技术,你可以轻松修改文本的效果,无需重新制作字体。每个TextMesh Pro组件都附带可以调整的材质,从而修改文本的风格。TextMesh Pro还具有更好的控制功能。TextMesh Pro组件包含所有原始文本组件拥有的变量以及更多其它变量。

一、有两个TextMesh Pro组件可用:

1.  添加一个新的TextMesh Pro文本对象,它与网格渲染器一起工作:“GameObject->3D Object->TextMeshPro Text”。

2. 添加一个与新UI一起工作的TextMesh Pro组件,请转到:“GameObject->UI-”> TextMeshProText”

Unity3d TextMeshPro教程_第2张图片

二、TextMesh Pro组件分为两个部分:文本输入( Text Input Box)和字体设置( Font Settings)

Unity3d TextMeshPro教程_第3张图片

1.文本输入Text Input Box

在此区域键入要呈现的文本。可以输入多行文本,在键盘上按或输入特殊字符\n。

Bold
Italics
Underline
Strikethrough
Superscript
Subscript
Point size 48
Point size increased by 18
Point size decreased by 18
Characters positioned about 5.5 characters from left side.
Yellow text
<#00ff00>Green text

2.字体设置Font Settings

Font Asset:这是TextMeshPro字体资源。
Font Style:对文本应用全局样式,粗体、斜体等
Vertex Color:将被指定为顶点的颜色,每个字符的颜色(除非有颜色,已指定标记
Color Gradient:
启用顶点颜色渐变
Override Color Tags:启用覆盖颜色标签。
Font Size:字体大小
Auto Size:
动态调整点大小。在最小值和最大值之间,以适应文本容器的大小。
Character Spacing:控制单个字符之间的间距
Spacing:
允许调整字符、行和段落间距。
Alignment:控制文本的对齐方式,选项有左、中、右和对齐。
Enable Word Wrap:启用或禁用换行。
UV Mapping Options:控制纹理(面和边框)如何映射到文本对象;
Enable Kerning:如果在字体资产的字距表中定义了字距对,则启用或禁用字距。
Extra Padding:非常小的字体可能需要额外的填充。这种额外的填充可以防止字符被剪。
三、Material Editor & Shaders

TextMeshPro包括几个自定义着色器以及一个自定义材质编辑器,旨在通过只公开那些预期的属性来保持事情的简单性

修改。有两组着色器,其中包括位图着色器和一些符号距离字段着色器。TextMeshPro的着色器可以在“TextMeshPro/…部分着色器列表中材料组件。http://digitalnativestudios.com/textmeshpro/docs/shaders/是SDF着色器的列表和简要描述。更新的材质

这里也有相关信息。

Distance Field Mobile:

这个轻量级着色器只包含最基本的特性,并提供了最佳的整体性能。

Distance Field:

这个更高级的着色器包含了大量的特性选择。它是默认分配给all的着色器带符号的距离字段字体资产。它仍然提供出色的性能。
Distance Field Surface:

这个着色器包含了与距离域着色器本质上相同的特性。它使用场景灯,代替使用模拟照明。这些文本对象也可以投射阴影,这个着色器使用每个像素的照明。


Distance Field Surface Mobile:

这是一个轻量级版本的表面着色器与有限的功能。它使用每个顶点的光照而不使用来自灯光的方向信息。它考虑到了光的距离。

四、材质编辑器功能面板(Material Editor Feature Panels)

定制使用的每个特性面板的概述材质编辑器。单击这些面板将隐藏或显示它们的特性,其中一些面板需要启用它们的功能。不同的面板将提供各种着色器。

Face Panel:
 

Unity3d TextMeshPro教程_第4张图片


Color - 选择字符表面的颜色和透明度。(该颜色将与顶点颜色相结合。)
Texture - 选择要应用于字符表面的纹理。(颜色会影响纹理的颜色,如何应用纹理中的映射选项控制到字符/文本对象

编辑器面板。纹理选项不是在所有着色器上都可用。)
Softness -控制字体的柔软度。
Dilate -增加或减少字符的大小。

Gloss -控制字符表面的亮度。

Outline Panel:

Unity3d TextMeshPro教程_第5张图片

Color - 控制字符轮廓的颜色和透明度。
Texture -选择要应用于字符表面的纹理。(颜色会影响纹理的颜色,纹理如何应用于字符/文本对象由编辑器面板中的映射选项控制,纹理选项不是在所有着色器上都可用。)
Thickness - 控制轮廓线的厚度。
Gloss - 控制使用表面着色器时字符表面的光泽。

Underlay Panel:
下划线可用于向文本对象添加阴影或边框。

Unity3d TextMeshPro教程_第6张图片


Color - 控制衬底的颜色和透明度。
Offset (X, Y) - 控制衬底的位置。
Dilate - 增加或减少衬底的尺寸。
Softness - 控制衬底的柔软度。

Bevel Panel

内外斜面两种类型模拟三维斜面在二维物体上的视觉外观。

Unity3d TextMeshPro教程_第7张图片
Amount - 控制斜面的应用数量
Offset -控制斜面相对于字符表面边缘的位置。
Width - 控制斜面效果的宽度。
Roundness -确定斜面脊线是尖锐的还是圆形的。
Clamp -限制斜面的高度。

Lighting Panel

灯光设置控制斜面、凹凸和的外观的环境映射。

Unity3d TextMeshPro教程_第8张图片
Light Angle - 控制光线的角度。
Specular Color - 高光的颜色。
Specular Power - 控制高光的强度。
Reflectivity Power - 控制反射光的数量。
Diffuse Shadow - 增加或减少物体接收到的光量。
Ambient Shadow - 控制光线和斜面边缘的显示效果。

BumpMap Panel
Texture - 应用于文本对象的法线映射。

Unity3d TextMeshPro教程_第9张图片
Face -控制要应用于字符表面的凹凸映射的数量。
Outline - 凹凸贴图应用于字符轮廓的数量。
EnvMap Panel

Unity3d TextMeshPro教程_第10张图片
Color - 颜色将使环境地图变亮、变暗或着色。默认颜色为黑色,不影响文本对象。
Texture - 应用于文本对象的多维数据集映射
Glow Panel

Unity3d TextMeshPro教程_第11张图片
Color - 辉光的颜色和透明度。
Offset - 控制辉光的位置。值0.0位于字符表面的边缘。
Inner - 控制辉光效果
Outer - 控制辉光效果向外部延伸的距离。
Power - 控制辉光效果向脸部外部延伸的距离。

五、Font Asset Creator Overview

创建方法: “Window->TextMeshPro Font AssetCreator”.

Unity3d TextMeshPro教程_第12张图片

Font Settings
 

Unity3d TextMeshPro教程_第13张图片
Font Source :是选择要创建资产的字体的地方。
Point Size :手动选择字体的大小,也可以使用Auto调整大小模式,该模式将在给定的图集分辨率中找到尽可能大的字体大小。
Font Padding 确定每个字符像素单位之间的空间大小。

Atlas Resolution:图集分辨率决定字体图集的大小。对于大多数字体其中包括完整的ASCII字符集,大小通常为512 * 512。对于带符号的距离字段渲染模式。

Character Set: 确定字体图集中包含哪些字符。

Unity3d TextMeshPro教程_第14张图片

Custom Range_允许您定义一个表示要包含哪些字符的范围。要定义包含ASCII集和拉丁补充字符的范围,用户需要输入
32- 126,161 -255在自定义范围窗口。

Custom Characters_ 允许用户通过输入自定义字符窗口来指定要包含的字符。
Characters from File _用户能够提供一个纯文本文件,其中包含要包含在图集中的所有字符。

Font Style: 选择是否将创建粗体、斜体或大纲,以及定义大纲的厚度或粗体。
Font Render Mode :确定将如何呈现字符。

Unity3d TextMeshPro教程_第15张图片

Hinted Smooth_ 是带有提示的反锯齿呈现。
Smooth_ 没有暗示也是一样的.
Raster Hinted_ 在不使用提示反混叠的情况下呈现字符.
Raster_ 没有反锯齿或提示。
 Distance Field 16_ 创建标准模式地图集。字体将被采样16倍,以产生一个更准确的签名距离场地图集。
 Distance Field 32_ 与上面相同,但是采样量是32倍以上。使用这种模式将导致一个更准确的SDF图集,虽然更准确可能只提供微妙的视觉改进。当试图将一个完整的ASCII集放入一个小的256 X 256图集或处理具有高频曲线变化的复杂形状的字体时,应该主要使用此选项。

Get Kerning Pairs :确定是否将字体文件中可能存在的字距对添加到字体资产中。如果在字体文件中没有找到字距对,则始终可以在TextMeshPro字体中添加新的字距对资产编辑面板.

Save TextMeshPro Font Asset :将弹出一个文件请求程序,允许您为新创建的资产选择文件位置和名称。默认情况下,字体名称将与字体名称相同。当使用带符号的距离字段呈现模式时,此名称将为添加了SDF的字体名称。我们建议您将字体资产保存在assets /Resources/Fonts/…或者创建这样的文件夹结构(如果不存在的话)。由于文本对象通常是通过脚本创建的,这导致任何场景对象都不会引用字体资产,这就保证了您的字体资产将包括在构建中并可用.

六、Font Asset

Unity3d TextMeshPro教程_第16张图片

Face Info 包含特定于使用字体资产创建器呈现的字体的信息。这包括下列资料:

Font Source - 字体的名称。
Font Size - 字体在字体图集中呈现的点的大小。
Line Height - This is the spacing between each lines of text.
Baseline - 文本每行之间的间距。
Ascender - 字体中任何字符的最高点。
Descender - 字体中任何字符的最低点。
Underline - 下划线的位置。
Width & Height - 字体图集的宽度和高度

Font Sub-Assets
Font Atlas - 字体所有字符的纹理。这种纹理是特定于这种字体的。
Font Material - 此字体的默认材质,其中包含对字体图集纹理的引用。
Face Style :
Normal & Bold weight - 字体的正常粗体权重。
Italic Style - 定义斜体的斜度。

Glyph Info 包含字体中每个字符的特定信息。

Unity3d TextMeshPro教程_第17张图片
ASC II & Char - TASC II码和字符
X & Y - 字符在字体图集中的X和Y位置。
W & H - 字体图集中字符的宽度和高度。
Offsets - X偏移量是相对于(0,0)绘制字符的位置。Y偏移量表示字符的顶部相对于基线或(0,0)的位置。

Kerning Table Info 包含字体的字距信息。Kerning数据可以在创建字体时导入,也可以使用此面板手动添加。

Unity3d TextMeshPro教程_第18张图片
Left Char - 字符对的左边部分
Right Char - 字符对的右边部分
Offset - 左右字符之间的偏移量

你可能感兴趣的:(unity3D,c#,unity插件)