本主题介绍了 XML 模板文件中可使用的所有元素。XML 模板文件可以使用任意 XML 编辑器或自行选择的纯文本编辑器进行编辑。请参见编辑资源模板。
FBX 资源的完整模板文件参考文档也可以在以下网址找到:http://www.autodesk.com/maya-docs-archive。
下图显示了包含两个视图的示例模板文件,并说明了模板文件中 XML 元素的放置。
下表汇总了每个模板元素可包含的内容。各元素的详细描述在下文说明。
|
主元素
模板的主体由单个 <template> 元素定义。在模板中,一系列的 <attribute> 特性描述资源的已发布属性界面。
下表介绍了模板文件的主元素。
|
模板软件包
模板可以选择性地组织到软件包中。软件包结构的设置涉及一些附加的步骤,但它可以在建立要重用或共享的模板库时提供许多优势。请参见将资源模板组织到软件包中。
打包模板通过其软件包名称和模板名称进行引用,这两个名称用点号分隔。例如,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>
模板元素
下表介绍了模板文件的模板定义中允许的元素。
|
属性元素
每个已发布的属性都由属性元素进行描述。下表介绍了允许在属性定义内使用的元素。
|
示例代码:
<attribute name='attribute1' type='maya.float3'><label>Display Name</label><description>Your description here.</description></attribute>
属性类型
Maya 使用模板属性类型记录将绑定到已发布属性的属性预期类型。属性类型在创建模板时使用来自已绑定属性的信息生成。系统将未绑定属性的类型设置为 VOID,表明该类型为未知类型。
模板格式支持属性类型的多种定义机制。从 Maya 创建的模板将包含内置或自定义类型。模板包含未解析类型并不是错误;但是,Maya 在遇到这些类型时,会生成警告。
下列内置类型既可以直接使用,也可以用于定义自定义类型:
BOOL
INT8
INT16
INT32
INT64
UINT8
UINT32
UINT64
FLOAT
DOUBLE
STRING
VOID
自定义属性类型使用 <type> 元素进行定义。系统将提供一组与 Maya 属性类型相对应的自定义类型。这些类型在“maya”软件包中进行定义。使用这些类型从 Maya 创建的模板将有 <using package='maya'> 指令,同时系统为软件包名称中添加类型名称前缀。有关创建自定义类型的详细信息,请参见 FBX 资源参考文档,网址如下:http://www.autodesk.com/maya-docs。
视图元素
模板可以包含一个或多个与其关联的视图。视图描述资源的特定显示布局,并可以用于根据不同的目的(例如不同的用户或工作流)定制界面。
视图使用 <view> 元素进行定义。视图中的属性使用 <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)中)不支持使用组,系统会改为将视图属性排布到有序列表中。
注意
组可以进行嵌套。
下表介绍了允许在组定义内使用的所有元素。
|
示例代码:
<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>
特性元素
下表列出了允许在特性定义中使用的元素。
|
示例代码:
<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进行编码。
|
请参见本地化资源用户界面。
绑定集元素
一个模板可以有一个或多个与之关联的绑定集。绑定集是已发布名称(绑定特性)到节点属性(条件)之间的映射。“自动绑定”(Autobind)功能可以使用这种映射在使用该模板的任意资源中快速发布和绑定属性。
|