Version: 6000.3
语言: 中文
USS 的最佳实践
在 UI 工具包中应用遮罩效果

主题样式表 (TSS)

主题样式表 (TSS) 文件是常规的 USS 文件。UI Toolkit 将 TSS 视为一种不同的资产类型,并将其用于管理目的。

常规的 USS 语法和格式适用于 TSS 文件,但通常,主题文件通过@import统治。

注意:USS 文件还支持@import统治。

创建 TSS

您可以为不同的主题创建不同的 TSS 文件,并在运行时在它们之间切换。通常,您应该使用 USS 来表示样式。当您为不同的平台或设备自定义外观时,或者如果您的游戏或应用程序支持多种语言,则当您为不同语言使用不同的字体时,请考虑使用 TSS。

注意:当您将第一个 UIDocument 添加到游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
在项目中,它会在Assets/UI Toolkit/UnityThemes/UnityDefaultTheme.tss.尽管可以从头开始创建 TSS,但若要使所有默认 UI 控件正常工作,必须导入默认运行时主题,然后覆盖或添加新样式以创建自定义主题。

要创建新的 TSS,请执行以下作:

  1. 使用自定义样式创建一个或多个 USS 文件。

  2. 执行下列作之一:

    • 选择 资产 > 创建>UI 工具包 > TSS 主题文件 以创建空主题文件并导入默认主题
    • 选择 资产(Assets) > 创建>UI 工具包 > 默认运行时主题文件(Default Runtime Theme File) 以创建默认运行时主题文件的副本。如果需要,您可以重命名文件。
  3. 将您的样式 USS 文件导入您的主题。

预览 TSS

您的自定义主题也会显示在视口用户在屏幕上应用的可见区域。
请参阅术语表
在 UI Builder 中。要预览主题,请从 视口(Viewport) 中选择它。

应用 TSS

你可以用 UXML 或 C# 引用 TSS,就像使用 USS 一样。

您还可以将 TSS 设置为面板设置资产的默认主题。如果您有多个面板设置,则每个面板设置都可以使用不同的 TSS 文件。

注意:如果为面板设置资源设置TSS,则不会使TSS成为整个项目的全局样式。您仍然需要在 UXML 或 C# 中引用 TSS。

导入主题

您可以使用 TSS 资产的检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
窗口或@import规则导入主题。

: 如果在当前 TSS 和导入的样式表中定义 USS 变量或样式,则当前 TSS 将覆盖导入的样式表。

使用“检查器”窗口导入主题

  1. 选择 TSS 资产。
  2. 转到“检查器”窗口>“继承的主题”。
  3. 选择 +。这将添加一个新的引用字段。
  4. 选择引用字段中的列表图标。将显示一个下拉列表,其中包含项目中的所有样式表。
  5. 选择要使用的样式表。
  6. 选择应用

使用@import统治

若要导入默认的 Unity 运行时主题,必须使用以下语法:

@import url("unity-theme://default");

注意:此语法中的此URL是一种特殊情况,它引用了引擎内部的内置默认主题。不能将此语法用于任何其他主题。

使用@import统治

要导入默认主题以外的主题或 USS 文件,请使用以下语法:

@import url("<path-to-file>/<file-name-with-extension>");

您可以使用相对路径或绝对路径:

  • 绝对路径从项目的Assets文件夹,并以 或/project://database/.例如/Assets/myFolder/myFile.ussproject://database/Assets/myFolder/myFile.uss.
  • 相对路径从当前文件开始,不包括 .例如/../myFolder/myFile.uss.

注意:要从包中引用文件,请使用从Packages文件夹。例如/Packages/com.unity.package.name/file-name.ussproject://database/Packages/com.unity.package.name/file-name.uss.您必须使用com.unity.package.name而不是package name为包名称。

其他资源

USS 的最佳实践
在 UI 工具包中应用遮罩效果