Unity3D :文本入门
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
文本入门
UI Toolkit使用TextCore来渲染文本,这是一种基于TextMesh Pro的技术。TextCore 允许高级样式设置功能,并且可以以各种点大小和分辨率清晰地呈现文本。它利用了有符号距离字段 (SDF) 字体渲染,可以生成即使在转换和放大时看起来清晰的字体资源。
此示例演示如何在 中设置文本样式用户界面
构建、创建和应用静态和动态字体资源,使用富文本标签和自定义样式表设置文本样式,并创建面板文本设置资源以管理面板的文本设置。
注意:出于演示目的,本指南使用运行时 UI。创建字体资源和样式表的说明也适用于编辑器 UI。但是,您无法在当前版本中更改编辑器 UI 的默认面板文本设置。
先决条件
本指南适用于熟悉 Unity 编辑器、UI 工具包和 C# 脚本的开发人员。在开始之前,请熟悉以下内容:
- 用户界面生成器
- 用户体验
- 运行时用户界面
创建面板文本设置资源
从运行时 UI 开始,创建用于管理面板文本设置的面板文本设置资产。您还可以创建文件夹和子文件夹来存储字体资源和自定义样式表。Resources
- 按照运行时 UI 入门中的步骤创建简单的运行时 UI。
- 在文件夹中,创建一个文件夹。
AssetsResources
- 右键单击该文件夹,然后选择“创建> UI 工具包”>“文本设置”以创建 .的“检查器”窗口显示字体资源、文本样式表资源、精灵资源和颜色渐变预设的默认路径名。
Assets\UI ToolkitUITK Text Settings.assetUITK Text Settings.asset
- 在该文件夹中,创建两个名为 和 的文件夹。
ResourcesFonts & MaterialsText Style Sheets
使用 UI 生成器设置文本样式
使用 UI 生成器将切换文本的样式设置为粗体和斜体,字体大小为 .有关详细信息,请参阅使用 USS 设置文本样式。12px
- 双击以在 UI 生成器中将其打开。
SimpleRuntimeUi.uxml
- 在检查员
窗口,选择文本。 - 在“字体样式”字段中,选择“B 和 I”。
- 在 大小 字段中,输入 12。
创建静态字体资源
创建静态字体资产并将其应用于 Button 控件。对于静态字体资产,无需在生成中包含源字体文件。但是,您必须为按钮显示文本中的所有字符生成图集。显示文本是,您将在文本中添加 a,因此您可以生成 的图集。This is a Button*TBhinostua*
- 从谷歌字体下载Lato字体包。
- 解压缩字体包文件并放置在项目的文件夹中。
Lato-Regula.ttfAssets
在字体文件的“检查器”窗口中,确认以下内容:
- 已启用“包括字体数据”。
- 字符设置为动态。
- 在“项目”窗口中,右键单击并选择“创建>文本>字体资源”。这将创建一个名为 的动态字体资产。
Lato-Regula.ttfLato-Regula SDF.asset
- 在 的“检查器”窗口中,将“地图集填充模式”设置为“静态”。
Lato-Regula SDF.asset
- 单击更新图集纹理。
- 在“字体资源创建器”窗口中,从“字符集”列表中选择“自定义字符”。
- 在“自定义字符列表”框中,输入 。
TBhinostua*
- 单击生成字体图集。
- 保存更改。
- 放在文件夹中。
Lato-Regula SDF.assetAssets\Resources\Fonts & Materials
- 双击以在 UI 生成器中将其打开。
SimpleRuntimeUi.uxml
- 在“按钮”控件的“检查器”窗口中,选择“文本>字体资源”>“Lato-Regula SDF”。
创建动态字体资源
创建动态字体资源并将其应用于文本字段控件
.对于动态字体资源,必须在生成中包含源字体文件。将源字体文件直接导入为字体设置的路径。
- 从 Google Fonts 下载 Roboto 字体包。
- 解压缩字体包文件并放置在项目的文件夹中。
Roboto-Regular.ttfAssets\Resources\Fonts & Materials
在字体文件的“检查器”窗口中,确认以下内容:
- 已启用“包括字体数据”
- 字符设置为动态
- 右键单击并选择创建>文本>字体资源。这将创建一个名为 的动态字体资产。
Roboto-Regular.ttfRoboto-Regular SDF.asset
- 双击以在 UI 生成器中将其打开。
SimpleRuntimeUi.uxml
- 在“文本字段”控件的“检查器”窗口中,选择“文本>字体资源”>“机器人常规 SDF”。
使用富文本标签设置样式
使用 RTF 标记在 Label 控件中设置文本样式。
注意:在当前版本中,文本字段不支持富文本标签。
- 双击以在 UI 生成器中将其打开。
SimpleRuntimeUi.uxml
- 在“标签”控件的“检查器”窗口中,将“文本”更改为 。这使得单词大,红色,粗体,并且两侧都有一个星号。
This is a <font-weight=700><size=2em><color=#FF0000>*Label*</color></size></font-weight>Label
- 确保已选择“启用富文本”。
标签文本在视窗
窗:
使用样式表设置样式
若要将相同的样式应用于 到 ,请创建自定义样式表,并将该样式应用于这两个单词。LabelButton
- 右键单击该文件夹,然后选择“创建>文本>文本样式表”。这会在面板文本设置资源中设置的路径中创建一个。
Assets\Resources\Text Style SheetsText StyleSheet.asset
在 的“检查器”窗口中,执行以下操作:Text StyleSheet.asset
- 在“名称”中,输入 。
ExampleStyle
- 在“打开标记”中,输入 。
<font-weight=700><size=2em><color=#FF0000>*
- 在“结束标记”中,输入 。
*</color></size></font-weight>
- 在 的“检查器”窗口中,从“默认样式表”列表中选择“文本样式表”。
UITK Text Settings.asset
- 双击以在 UI 生成器中将其打开。
SimpleRuntimeUi.uxml
- 在“标签”控件的“检查器”窗口中,将“文本”更改为 。
<s>This is a <style="ExampleStyle">Label</style>
- 确保已选择“启用富文本”。
- 在按钮控件的“检查器”窗口中,将“文本”更改为 。
<s>This is a <style="ExampleStyle">Button</style>
- 确保已选择“启用富文本”。
- 进入播放模式并检查运行时 UI 中的文本。
- 在文本字段中,输入一些随机字符。对于动态字体资源,当您在文本字段中输入文本时,字体图集会动态生成。
- 在项目的文件夹中,选择 。
Assets\Resources\Fonts & MaterialsRoboto-Regular SDF.asset
- 在 的“检查器”窗口中,选择“更新图集纹理”以打开“字体资源创建器”窗口。如果图集窗口处于隐藏状态,请将其扩展。您应该会看到您在图集窗口中输入的字符。
Roboto-Regular SDF.asset
由3D建模学习工作室整理翻译,转载请注明出处!