本主题介绍了 XML 模板文件中可使用的所有元素。XML 模板文件可以使用任意 XML 编辑器或自行选择的纯文本编辑器进行编辑。请参见编辑资源模板。
FBX 资源的完整模板文件参考文档也可以在以下网址找到:http://www.autodesk.com/maya-docs-archive。
下图显示了包含两个视图的示例模板文件,并说明了模板文件中 XML 元素的放置。
下表汇总了每个模板元素可包含的内容。各元素的详细描述在下文说明。
模板 | 视图 | 属性 | 分组 | 特性 | 绑定集 |
---|---|---|---|---|---|
|
|
|
|
|
|
模板的主体由单个 <template> 元素定义。在模板中,一系列的 <attribute> 特性描述资源的已发布属性界面。
元素 | 描述 |
---|---|
<encoding> |
必须为 UTF-8。如未指定编码,则假定为 UTF-8。 |
<templates> | 包含所有文件元素。 |
<package> | (可选)如果模板是已命名软件包的一部分,该属性将指定软件包名称。详细信息请参见模板软件包。 |
<using> | 应加入 <using> 语句,用于标识文件必需的所有软件包。Maya 会自动将 <using> 指令添加到从 Maya 创建或保存的模板中。 |
<template> | 包含模板文件内的所有元素。通常一个文件有一个模板定义。请参见模板元素。 |
<view> | (可选)视图元素将定义模板的自定义用户界面布局。每个模板可以与多个视图相关联。请参见视图元素。 |
<bindingset> | (可选)绑定集元素将为模板定义绑定集,该模板用于自动绑定其他使用相同模板的资源。绑定集将定义从已发布名称到资源中节点的映射。 |
模板可以选择性地组织到软件包中。软件包结构的设置涉及一些附加的步骤,但它可以在建立要重用或共享的模板库时提供许多优势。请参见将资源模板组织到软件包中。
打包模板通过其软件包名称和模板名称进行引用,这两个名称用点号分隔。例如,pkg1 中 template1 的完整名称将是“pkg1.template1”。将模板置于软件包中时,软件包名称的作用类似于名称空间,这样可以减少与其他软件包中名称相同的模板之间的冲突。
同一软件包中的所有模板文件都存储在匹配软件包名称的文件夹中。例如,名为 pkg1 的软件包将位于 pkg1 文件夹中。软件包的父文件夹应位于模板搜索路径上。
在以下示例中,template1 和 template2 位于 pkg1 软件包中,template3 和 template4 位于 pkg2 中。父目录 templatePackages 将在模板搜索路径上指定,并引用可以解析的软件包。
.../templatePackages/pkg1/template1.template .../templatePackages/pkg1/template2.template .../templatePackages/pkg2/template3.template .../templatePackages/pkg2/template4.template
<templates package=pkg1></templates>
引用来自软件包的定义的模板需要 <using> 指令。<using> 指令将确保软件包可用,以便在加载时可以解析模板中的信息。从 Maya 保存模板时,系统将在需要时自动添加该指令。
<templates><using package='pkg1'>....</templates>
元素 | 描述 |
---|---|
<template> | 模板文件的主元素。该元素将定义资源的已发布界面。 |
<name> | 唯一地标识该模板。该元素不得包含任何特殊符号或多字节字符。根据 Maya 的惯例,模板名称与文件名相对应。软件包中模板的名称空间将包含软件包名称,这样,多个软件包就可以使用相同的模板名称。 |
<attribute> | 模板元素包括一系列属性元素,这些属性元素用于定义模板内容。请参见属性元素。 |
<label> | (可选)显示模板的标签。如未指定标签,系统将使用模板名称。该值可以进行本地化。详细信息请参见本地化元素:界面标签和描述。 |
<description> | (可选)模板的注释。此项可用时,系统使用该值在用户界面的一些部分中显示工具提示帮助。该值可以进行本地化。详细信息请参见本地化元素:界面标签和描述。 |
每个已发布的属性都由属性元素进行描述。下表介绍了允许在属性定义内使用的元素。
元素 | 描述 |
---|---|
<name> | 与资源上属性的已发布名称相对应。 |
<type> | 与属性的数据类型相对应。当在 Maya 中创建模板时,属性类型将生成该信息。一组标准类型将在与 Maya 属性类型相对应的 Maya 软件包中定义。详细信息请参见属性类型。 |
<label> | (可选)显示属性的标签。如未指定标签,则从属性名称生成标签。在视图中使用该属性时,系统可能也会覆盖该属性标签。详细信息请参见本地化元素:界面标签和描述。 |
<description> | (可选)属性的注释文本。该文本作为工具提示帮助显示在 UI 的一些部分中(例如,“属性编辑器”(Attribute Editor))。在视图中使用该属性时,系统可能也会覆盖描述。详细信息请参见本地化元素:界面标签和描述。 |
<attribute name='attribute1' type='maya.float3'> <label>Display Name</label> <description>Your description here.</description> </attribute>
Maya 使用模板属性类型记录将绑定到已发布属性的属性预期类型。属性类型在创建模板时使用来自已绑定属性的信息生成。系统将未绑定属性的类型设置为 VOID,表明该类型为未知类型。
模板格式支持属性类型的多种定义机制。从 Maya 创建的模板将包含内置或自定义类型。模板包含未解析类型并不是错误;但是,Maya 在遇到这些类型时,会生成警告。
自定义属性类型使用 <type> 元素进行定义。系统将提供一组与 Maya 属性类型相对应的自定义类型。这些类型在“maya”软件包中进行定义。使用这些类型从 Maya 创建的模板将有 <using package='maya'> 指令,同时系统为软件包名称中添加类型名称前缀。有关创建自定义类型的详细信息,请参见 FBX 资源参考文档,网址如下:http://www.autodesk.com/maya-docs。
模板可以包含一个或多个与其关联的视图。视图描述资源的特定显示布局,并可以用于根据不同的目的(例如不同的用户或工作流)定制界面。
视图使用 <view> 元素进行定义。视图中的属性使用 <property> 元素从模板进行引用。属性可以使用 <group> 元素进行分组。特定于视图的覆盖可以选择性地为某些模板信息提供。显示在界面中的属性标签和描述文本可以特别地按视图分别进行自定义(如果需要)。
视图元素可以针对模板内容对自定义用户界面布局进行定义。视图处于活动状态时,用户界面中仅显示包括在视图定义中的属性特性,其他模板属性将被抑制。视图特性可以组织到组中。
某些信息(标签、描述)在模板和视图中都可以提供。若已提供特定于视图的定义,此类定义将优先于模板级别的信息。
元素 | 描述 |
---|---|
<name> | 为该视图提供名称。视图名称是标识符,不得包含空格、特殊符号或多字节字符。若要为视图提供用户界面标签,请使用 <label> 属性。 |
<template> | 标识此视图关联的模板。 |
<label> | (可选)显示视图的标签。如未指定标签,则系统将使用视图名称。该值可以进行本地化。详细信息请参见本地化元素:界面标签和描述。 |
<description> | (可选)视图的注释文本。该文本作为工具提示帮助显示在界面的一些部分中(例如,“属性编辑器”(Attribute Editor))。详细信息请参见本地化元素:界面标签和描述。 |
<property> | 视图中包括一系列特性元素,这些特性元素用于引用模板属性。请参见特性元素。 |
<group> | 特性可以组织到组中。请参见组元素。 |
<view name='ShadingArtist' template='fountain'> <label>Shading Artist</label> <description>This view is for the shading team. </description> <group name='Water_Shader'> <property name='water_diffuse'/> <property name='water_color'/> </group> </view>
视图可以包括组元素。组可以组织 Maya 窗口和编辑器中的属性。例如,在“属性编辑器”(Attribute Editor)和“资源编辑器”(Asset Editor)中,组用于创建可收拢的布局。在某些情况下(如在“通道盒”(Channel Box)中)不支持使用组,系统会改为将视图属性排布到有序列表中。
元素 | 描述 |
---|---|
<name> | 为该组提供名称。组名称是标识符,不得包含空格、特殊符号或多字节字符。若要提供组的显示标签,请使用 <label> 元素。 |
<label> | (可选)显示组的标签。如未指定标签,则系统将使用组名称。该值可以进行本地化。详细信息请参见本地化元素:界面标签和描述。 |
<description> | (可选)组的注释文本。该文本作为工具提示帮助显示在界面的一些部分中(例如,“属性编辑器”(Attribute Editor))。详细信息请参见本地化元素:界面标签和描述。 |
<property> | 组包括一系列特性元素,这些特性元素用于标识组中包含的模板属性。 |
<group name='Brick_Shader'> <label>Brick Shading Properties</label> <description>Control main brick shader.<description> <property name='brick_diffuse'/> <property name='brick_color'/> <property name='brick_transparency'> </group>
元素 | 描述 |
---|---|
<name> | 视图属性特性通过名称引用模板属性。 |
<label> | (可选)当在该视图中使用属性时,显示属性的标签。该值特定于视图,会覆盖在属性上设置的任何模板级别标签。 如果未在(视图或模板中的)属性上设置标签,则从属性名称中派生标签。该值可以进行本地化。详细信息请参见本地化元素:界面标签和描述。 |
<description> | (可选)当在该视图中使用属性时,显示属性的注释。该值特定于视图,会覆盖在属性上设置的任何模板级别注释。该文本作为工具提示帮助显示在界面的一些部分中(例如,“属性编辑器”(Attribute Editor))。详细信息请参见本地化元素:界面标签和描述。 |
<property name=’brick_glowIntensity’> <label>Brick Glow Intensity<label> <description>Controls glow intensity of brick shader.<description> </property>
模板文件中的大部分文本值都是对象标识符或类似的值,其中不得包括空格或其他特殊字符。<label> 和 <description> 标记是其中的例外情况,这两种标记可用于在各种元素上设置用户界面的只显示标签和注释文本。这些字段的数据值支持本地化的数据(UTF-8 编码)、空格、特殊字符以及标点符号。
模板和视图上都可提供界面信息字段(<label> 和 <description>)。特定于视图的定义(如果提供)优先于模板中定义的定义。例如,如果一个属性在模板中定义了标签,在视图中定义了另一个标签,则视图标签的优先级较高。
<label> 和 <description> 元素定义用户界面的只显示字符串,并应用于 XML 格式中的许多元素。因为这些值是只显示值,所以可以包含对象名称字段中不得包含的空格和其他特殊字符。它们也提供了将模板界面本地化为其他语言的功能。所有在 XML 文件中定义的文本值都将使用 UTF-8 进行编码。
元素 | 描述 |
---|---|
<language> | (可选)语言标记可以添加到可本地化的元素中,以支持使用其他语言的显示字符串。系统会将未标记条目视为默认条目,在未找到更具体的语言匹配时使用该条目。如果只需要在英语语言环境中使用模板,则无需语言标记。 语言标记使用标准语言或语言_国家/地区缩写(例如,en_US、ja_JP、en、ja)。Maya 会基于当前的 UI 语言,自动从提供的条目中选择最适合的条目。 |
请参见本地化资源用户界面。
一个模板可以有一个或多个与之关联的绑定集。绑定集是已发布名称(绑定特性)到节点属性(条件)之间的映射。“自动绑定”(Autobind)功能可以使用这种映射在使用该模板的任意资源中快速发布和绑定属性。
元素 | 描述 |
---|---|
<name> | 提供绑定集的名称。绑定集名称是标识符,不得包含空格、特殊符号或多字节字符。创建绑定集时,默认名称为“MayaBindings”。 |
<template> | 标识与绑定集相关联的模板。 |
<binding property> | 定义要映射到资源中属性的名称。 |
<condition> | 表示资源中的属性。如果发出了“自动绑定”命令且 Maya 在资源中找到了该属性,则 Maya 将发布该属性并将其绑定到由相应绑定特性定义的名称。 可以在此处输入实际的属性名称或正则表达式。有关正则表达式的详细信息,请参见使用正则表达式。 |