アセット テンプレートのパーツ

 
 
 

このトピックでは、XML テンプレート ファイルで使用できるすべての要素について説明します。XML テンプレート ファイルは、XML エディタまたは任意のプレーン テキスト エディタを使用して編集できます。詳細については、アセット テンプレートを編集するを参照してください。

FBX アセットの詳細なテンプレート ファイル リファレンスのドキュメントは、http://www.autodesk.com/maya-docs-archive でも入手できます。

次の図は、2 つのビューを持つサンプル テンプレート ファイルであり、テンプレート ファイル内の XML 要素の配置を表しています。

関連項目

次の表は、各テンプレート要素の収容可能な内容の概要を表しています。続いて、各要素の詳細な説明が記されています。

テンプレート ビュー アトリビュート グループ プロパティ バインドセット
  • 名前
  • アトリビュート
  • ラベル
  • 説明

  • 名前
  • テンプレート
  • グループ
  • プロパティ
  • ラベル
  • 説明
  • 名前
  • アトリビュート
  • ラベル
  • 説明
  • 名前
  • グループ
  • プロパティ
  • ラベル
  • 説明
  • 名前
  • プロパティ
  • ラベル
  • 説明
  • 名前
  • テンプレート
  • バインド プロパティ
  • 条件

主要要素

テンプレートの本文は、単一の <template> 要素によって定義されています。テンプレート定義内の一連の <attribute> プロパティは、アセットのパブリッシュ済みアトリビュート インタフェースを表します。

次の表は、テンプレート ファイルの主要要素を説明したものです。

要素 説明

<encoding>

UTF-8 を指定する必要があります。指定されていない場合は、UTF-8 と解釈されます。

注:

ASCII 文字のみを収めるファイルは UTF-8 と互換性があります。

<templates>

すべてのファイル要素を囲みます。

<package>

(オプション)テンプレートがパッケージに含まれる場合、このアトリビュートでそのパッケージ名を指定します。詳細については、テンプレート パッケージを参照してください。

<using>

<using> 文は、ファイルに必要なすべてのパッケージを指定するために必要です。Maya で作成または保存されるテンプレートには、<using> 命令が自動的に追加されます。

<template>

テンプレート ファイル内のすべての要素を囲みます。通常、1 つのファイルには 1 つのテンプレート定義を指定します。詳細については、テンプレート要素を参照してください。

<view>

(オプション)テンプレート用にカスタマイズしたユーザ インタフェース レイアウトを定義します。各テンプレートには複数のビューを関連付けることができます。詳細については、ビュー要素を参照してください。

<bindingset> (オプション)バインド セット要素は、テンプレートを共有する他のアセットの自動バインド(Autobinding)に使用するテンプレート用のバインド セットを定義します。バインド セットは、パブリッシュ済みの名前からアセット内のノードへのマッピングを定義します。

テンプレート パッケージ

テンプレートはパッケージにまとめることもできます。パッケージ構造を設定するには、いくつかの特別な手順が必要ですが、再利用または共有のためのテンプレート ライブラリを構築するときに便利です。詳細については、アセット テンプレートをパッケージに編成するを参照してください。

パッケージ化されたテンプレートは、パッケージ名とテンプレート名の両方をピリオドで区切った名前になります。たとえば、template1pkg1 に存在する場合、フル ネームは「pkg1.template1」 になります。テンプレートをパッケージにまとめると、パッケージ名はネームスペースのように動作し、他のパッケージの同じ名前を持つテンプレートとの競合が軽減されます。

同じパッケージのすべてのテンプレート ファイルはパッケージ名のフォルダに格納されます。たとえば、pkg1 という名前のパッケージは、pkg1 フォルダに格納されます。パッケージの親フォルダは、テンプレート検索パスにあります。

次の例では、template1template2 がパッケージ pkg1template3template4pkg2 に存在します。親ディレクトリ templatePackages がテンプレート検索パスに指定され、各パッケージへの参照が決定されます。

.../templatePackages/pkg1/template1.template
.../templatePackages/pkg1/template2.template
.../templatePackages/pkg2/template3.template
.../templatePackages/pkg2/template4.template

パッケージの名前は、パッケージ内の各テンプレートで指定する必要があります。

<templates package=pkg1></templates>

パッケージの定義を参照するテンプレートには、<using> 命令が必要です。<using> 命令によってパッケージが使用可能になり、ロード時にテンプレートの情報が決定されます。この命令は、テンプレートの保存時に、必要な場合に自動的に追加されます。

<templates><using package='pkg1'>....</templates>

テンプレート要素

次の表は、テンプレート ファイルのテンプレート定義内で使用できる要素を説明しています。

要素 説明
<template>

テンプレート ファイルの主要要素。アセットのパブリッシュ済みインタフェースを定義します。

<name>

このテンプレートを一意に識別します。特殊記号とマルチバイト文字は使用できません。テンプレート名とファイル名は、Maya の命名規則に準拠します。パッケージのテンプレートは、パッケージ名によってネームスペースに設定されるため、同じテンプレート名を複数のパッケージで使用できます。

<attribute>

テンプレート要素には、テンプレートの内容を定義する一連のアトリビュート要素が含まれます。詳細については、アトリビュート要素を参照してください。

<label>

(オプション)テンプレートのラベルを表示します。ラベルが指定されていない場合は、テンプレート名が表示されます。この値はローカライズ可能です。詳細については、要素のローカライズ: インタフェースのラベルと説明を参照してください。

<description>

(オプション)テンプレートの注釈。使用可能な場合は、この値をユーザ インタフェースの一部に使用してツールのヒントやヘルプを表示できます。この値はローカライズ可能です。詳細については、要素のローカライズ: インタフェースのラベルと説明を参照してください。

アトリビュート要素

各パブリッシュ済みアトリビュートは、アトリビュート要素によって記述します。次の表は、アトリビュート定義内で使用できる要素を説明しています。

要素 説明
<name>

アセットのパブリッシュ済みのアトリビュートの名前です。

<type>

アトリビュートのデータ型です。この情報は、テンプレートを作成するときに、アトリビュート タイプから生成されます。標準タイプ セットは、Maya アトリビュート タイプに対応した Maya パッケージで定義されます。詳細については、アトリビュート タイプを参照してください。

<label>

(オプション)アトリビュートのラベルを表示します。ラベルが指定されていない場合は、アトリビュート名が表示されます。アトリビュート ラベルは、ビューでアトリビュートを使用するときに上書きすることもできます。詳細については、要素のローカライズ: インタフェースのラベルと説明を参照してください。

<description>

(オプション)アトリビュートの注釈テキスト。このテキストは、一部の UI (アトリビュート エディタ(Attribute Editor)など)に、ツールのヒントやヘルプとして表示されます。これは、ビューでアトリビュートを使用するときに上書きすることもできます。詳細については、要素のローカライズ: インタフェースのラベルと説明を参照してください。

サンプル コード

<attribute name='attribute1' type='maya.float3'>
<label>Display Name</label>
<description>Your description here.</description>
</attribute>

アトリビュート タイプ

テンプレートのアトリビュート タイプは、パブリッシュ済みアトリビュートにバインドされる予定のアトリビュート タイプを文書化するために使用されます。これは、テンプレートの作成時に、バインドされるアトリビュートからの情報を使用して生成されます。バインドされていないアトリビュートのタイプは VOID に設定され、タイプが不明であることを示します。

テンプレートのフォーマットは、アトリビュート タイプを定義するための複数の機構をサポートします。Maya で作成されるテンプレートには、組み込みタイプまたはカスタマイズされたタイプのいずれかが含まれます。テンプレートに未解決のタイプが含まれていてもエラーではありませんが、警告メッセージが表示されます。

次の組み込みタイプを直接使用するか、またはこれらを使用してカスタム タイプを定義することができます。

  • BOOL
  • INT8
  • INT16
  • INT32
  • INT64
  • UINT8
  • UINT32
  • UINT64
  • FLOAT
  • DOUBLE
  • STRING
  • VOID

カスタム アトリビュート タイプは、<type> 要素を使用して定義します。Maya アトリビュート タイプに対応するカスタム タイプが提供されます。これらのタイプは「maya」パッケージで定義されます。これらのタイプを使用した Maya で作成されるテンプレートには、<using package='maya'> 命令が指定され、タイプ名のプリフィックスとして、このパッケージ名が付加されます。カスタム タイプの作成の詳細については、http://www.autodesk.co.jp/maya-docs の FBX アセットのリファレンス マニュアルを参照してください。

ビュー要素

テンプレートには、複数のビューを関連付けることができます。ビューはアセットの特定の表示レイアウトを表し、インタフェースを用途に応じて調整することができます(各ユーザまたはワークフロー用のインタフェース調整など)。

ビューは、<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>

(オプション)言語のタグを追加すると、要素をローカライズし、代替言語での文字列表示をサポートすることができます。タグを使用しないエントリは、既定のエントリと見なされ、特定の言語が見つからない場合は既定の言語が使用されます。言語タグは、テンプレートを英語環境でしか使用しない場合には不要です。

重要:

テンプレートで英語以外の言語をサポートする場合、明示的に <language> タグを使用して、ローカライズ可能なすべての値(英語の値を含む)を指定し、関連付ける言語を明確に指定することをお勧めします。

言語タグは標準言語または「言語_国」形式の略語を使用します(en_US、ja_JP、en、ja など)。現在の UI 言語に基づいて提供される言語から最も適切なエントリが選択されます。

注:

Maya のユーザ インタフェース言語を定義するには、「about -uiLanguage」コマンドを入力します。

アセット ユーザ インタフェースのローカライズも参照してください。

バインド セット要素

テンプレートには、1 つまたは複数のバインド セットを関連付けることができます。バインド セットは、ノード アトリビュート(条件)にマッピングされた、パブリッシュ済みの名前(バインド プロパティ)のマッピングです。このマッピングは、自動バインド(Autobind)機能で使用され、テンプレートを利用するアセットでアトリビュートをすばやくパブリッシュ、バインドします。

要素 説明
<name>

バインド セットの名前を指定します。バインド セット名は識別子であり、スペース、特殊記号、マルチバイト文字は使用できません。バインド セット作成時の既定の名称は、「MayaBindings」です。

<template> バインド セットを関連付けるテンプレートを指定します。
<binding property> アセット内のアトリビュートにマッピングする名前を定義します。
<condition> アセット内のアトリビュートを表します。自動バインド(Autobind)コマンドが発行され、アセット内にこのアトリビュートが検出されると、パブリッシュして対応するバインド プロパティで定義された名前にバインドします。

実際のアトリビュート名か正規表現をここに入力します。正規表現の詳細については、正規表現を使用するを参照してください。

関連項目