字体
字体 (Fonts) 可以进行创建或导入,以在图形用户界面文本 (GUI Text) 或文本网格 (Text Mesh) 组件中使用。
导入字体文件
要将字体添加到工程,需要将字体文件置于资源文件夹中。Unity 随后将自动导入该文件。支持的字体格式为 TrueType 字体(.ttf 或 .dfont 文件)和 OpenType 字体(.otf 文件)。
要更改字体大小,请在工程视图 (Project View) 中突出显示它,在检视器 (Inspector) 的导入设置 (Import Settings) 中提供 了一些选项。

字体的导入设置
属性: | 功能: |
---|---|
字体大小 (Font Size) | 字体大小(基于任何文字处理程序中设置的大小) |
字符 (Character) | 字体的文本编码。可以在此处强制字体仅显示大写或小写字符 |
将此模式设置为“动态”(Dynamic) 会使 Unity 使用底层操作系统字体渲染例程(请参阅下文)。 | |
2.x 字体放置 (2.x font placing) | 与 2.x 相比,Unity 3.x 使用印刷更正确的垂直字体放置。我们现在使用存储在 truetype 字体数据中的字体升高,而不是在渲染字体纹理时进行计算。勾选此属性会使用 2.x 垂直放置。 |
特定于非动态字体的导入设置
属性: | 功能: |
---|---|
字体渲染 (Font Rendering) | 应用于字体的抗锯齿量。 |
特定于动态字体的导入设置
属性: | 功能: |
---|---|
样式 (Style) | 应用于字体的样式(“正常”(Normal)、“粗体”(Bold)、“斜体”(Italic) 或“粗斜体”(BoldAndItalic) 之一)。 |
包括字体数据 (Include Font Data) | 此设置控制与“动态”(Dynamic) 字体属性一起使用时的字体打包。选中时,TTF 会包括在编译版本输出中。未选中时,会假设最终用户已在其计算机上安装了字体。请注意,字体受版权保护,只应包括已获得许可或为自己创建的字体。 |
字体名称 (Font Names) | 仅当未选择“包括字体数据”(Include Font Data) 时可用。输入逗号分隔的字体名称列表。将从左到右依次尝试这些字体,会使用在游戏者计算机上找到的第一个字体。 |
导入字体之后,可以在“工程视图”(Project View) 中展开字体,会看到其自动生成了一些资源。导入过程中会创建两个资源:“字体材质”和“字体纹理”。
动态字体
Unity 3.0 添加了对动态字体渲染的支持。将“导入设置”(Import Settings) 中的字符 (Characters) 下拉菜单设置为动态 (Dynamic)时,Unity 不会对所有字体字符预先生成纹理。而是使用 FreeType 字体渲染引擎动态创建纹理。这样做的优点是可以节省下载大小和纹理内存,尤其是在使用通常包括在用户系统中的字体时,因此您不必包括字体数据,或是在需要支持亚洲语言或较大字体大小时(使用正常字体纹理时,这会使字体纹理非常大)。
Unicode 支持
Unity 可完全支持 unicode。Unicode 文本使您可以显示在 ASCII 字符集中通常不支持的德语、法语、丹麦语或日语字符。如果字体支持,还可以输入许多不同的特殊用途字符(如箭头符号或选项键符号)。
要使用 unicode 字符,请从“导入设置”(Import Settings) 的字符 (Characters) 下拉菜单中选择 Unicode 或动态 (Dynamic)。现在可以使用此字体显示 unicode 字符。如果使用图形用户界面文本 (GUIText) 或文本网格 (Text Mesh),则可以在检视器 (Inspector) 中将 unicode 字符输入组件的文本 (Text) 字段中。请注意,Mac 上的检视器 (Inspector) 可能不会正确显示 unicode 字符。
如果要从脚本设置显示的文本,则也可以使用 unicode 字符。Javascript 和 C# 编译器完全支持基于 Unicode 的脚本。只需使用 UTF-16 编码保存脚本。在 Unitron 中,可以通过打开脚本并选择 ,来实现此目的。现在可以在脚本中将 unicode 字符添加到字符串,它们会按照预期方式显示在 UnityGUI、图形用户界面文本 (GUIText) 或文本网格 (Text Mesh) 中。在将 UniSciTE 用于脚本编辑的 PC 上,使用 UCS-2 Little Endian 编码保存脚本。
更改字体颜色
根据字体的使用方式,可通过不同方式更改所显示字体的颜色。
图形用户界面文本 (GUIText) 和文本网格 (Text Mesh)
如果使用图形用户界面文本 (GUIText) 或文本网格 (Text Mesh),则可以通过将自定义材质用于字体来更改其颜色。在“工程视图”(Project View) 中,单击 ,然后在检视器 (Inspector) 中选择并设置新创建的材质。确保将纹理从字体资源分配给材质。如果将内置图形用户界面/文本着色器 (GUI/Text Shader) 用于字体材质,则可以在材质的文本颜色 (Text Color) 属性中选择颜色。
UnityGUI
如果使用 UnityGUI 脚本显示字体,则对于不同情况下的字体颜色具有多得多的控制权。要更改字体的颜色,请通过图形用户界面皮肤 (GUISkin),然后为特定控制状态定义颜色,例如 。有关更多详细信息,请阅读图形用户界面皮肤 (GUI Skin) 页面。
创建提示
要显示导入的字体,请选择该字体并选择
。仅使用小写或大写字符可减小生成的纹理大小。
Unity 提供 的默认字体为 Arial。此字体始终可用,不会出现在“工程”(Project) 窗口中。