| On this page |
概要 ¶
APEXパスパターン構文は、APEXグラフ、スケルトン、ジオメトリ、およびパックキャラクタフォルダ構想内の特定の要素をフィルタリングして選択できるルールセットです:
APEXグラフ
APEXパスパターンは、graph::FindNodesや
graph::FindPortsなどのグラフ系ノードで使用して、ノードおよびポートの特定のグループを検索します。また、APEXパスパターンは、タグやプロパティなどのグラフメタデータをフィルタリングするのにも使用することができます。グラフノード上のタグは、事前構築済みリグコンポーネントでリグ内のノードにラベルを付けたり検索するのに広く使用されています。
スケルトンとジオメトリ
APEXパスパターンは、skel::FindJointsや
skel::FindFirstJointなどのグラフ系ノードで使用して、ジオメトリ内の特定のポイントやスケルトン内のジョイントを検索します(スケルトンとはポイントの階層です)。また、APEXパスパターンは、タグやプロパティなどのスケルトンメタデータをフィルタリングするのにも使用することができます。タグは、スケルトンジョイントにラベルを付けるのに使用されます。これを事前構築済みリグコンポーネントが取得することで、キャラクタのリグ機能が構築されます。
パックキャラクタフォルダ構造
APEXパスパターンをUnpack Folder SOP内で使用して、アニメーション用のキャラクタ要素が格納されている、ネストされたパックキャラクタフォルダ構造から特定の要素を抽出することができます。
APEXパスパターン構文 ¶
以下の表に、APEXパスパターン構文のルールを示します。この表内の“階層レベル”とは以下を指します:
-
ネスト(入れ子)化したサブネット(APEXグラフの場合)。
-
スケルトン階層内のレベル。ジオメトリがスケルトン(階層)でない場合、すべてのポイントは最上位の階層レベルにあるとみなされます。
-
パックキャラクタフォルダ構造のネスト化したフォルダ。
構文 |
説明 |
|---|---|
|
名前内の任意の数の文字に一致します。 例えば、 |
|
任意の数の階層レベルに一致します。 例えば、 |
|
任意の1文字に一致します。 |
|
大括弧内の任意の1文字に一致します。 例えば、 |
|
グループとアトリビュートは、中括弧内に配置されます。 例えば、 Note グループおよびアトリビュートとのパターンマッチは、パックキャラクフォルダ構造でのみサポートされ、グラフ要素やジオメトリのポイントではサポートされていません。 |
パターンと |
複数のパターンは
|
|
丸括弧は、組み合わされたパターンの実行順を示します。 例えば、 |
APEXグラフのポート構文 ¶
APEXグラフにおいて、graph::FindPortsノードは、以下の構文を使用してグラフポートをフィルタリングすることができます:
<node_path>:<port_name>[in|out][<subport_name>]
-
オプションの
[in]/[out]は、ポートがノードの入力ポートか出力ポートかを指定します。 -
オプションの
[<subport_name>]は、可変長ポート<port_name>のサブポート名を指定します。
例えば、joint_*:xform[in][leg]は、joint_で始まるノードにおける、入力可変長ポート xform のlegという名前のサブポートに一致します。
関数 ¶
APEXパスパターン関数は、グラフ、グラフノード、ポート、ジオメトリのポイントに対して特定のフィルタリング処理を実行します。関数はパックキャラクタフォルダ構造には使用されません。
APEXパスパターン構文では、関数は頭に%が付き、複数の引数を受け取ることができます:
%<function>(<argument1>, <argument2>, ...)
また、別の構文として、タグ名の前に“#”を付けることで、例えば#<tag_name>のようにタグを指定することも可能です。
APEXグラフ関数 ¶
ノード関数 ¶
以下の関数はノードに対して動作します:
関数 |
説明 |
|---|---|
|
短縮形だと、inclusiveオプションには 例:
|
|
コールバックとは、APEXグラフノードのタイプです(例:
|
|
短縮形だと、inclusiveオプションには 例:
|
|
コネクションを持つノード/ポートを検索します。ポートのいずれかが接続されている場合、そのノードは接続されているとみなされます。 |
|
入力または出力としてプロモートされる(グラフの入力/出力ノードに接続されている)ノードを検索します。また、トップレベルのグラフ入力/出力ノードまで遡ってプロモートされる、ネスト化されたサブネット内のノードも検索します。 |
|
プロパティは、ノード上の プロパティの値は、オプションの2つ目の引数として指定することができます。 |
|
タグは、ノード上の
|
|
|
ポート関数 ¶
以下の関数はポートに対して動作します:
|
接続されているポートを検索します。 |
|
入力または出力としてプロモートされる(グラフの入力または出力ノードに接続されている)ポートを検索します。また、トップレベルのグラフ入力/出力ノードまで遡ってプロモートされる、ネスト化されたサブネット内のポートも検索します。 |
|
タグは、ノード上の ポートタグは、グラフノード上に
|
|
|
|
値の型が
|
スケルトンおよびジオメトリ関数 ¶
以下の説明において、<joint_pattern>とはスケルトンジョイントをフィルタリングするのに使用されるパターンです。<joint_pattern>には、APEXパスパターンやAPEXパスパターン関数を含めることができます。
関数 |
説明 |
|---|---|
|
スケルトンに対して動作します。
例えば、root → pelvis → thigh → calfという階層がある場合:
|
|
スケルトンに対して動作します。 |
|
スケルトンに対して動作します。
例えば、calf → ball → footという階層がある場合:
|
|
ジオメトリに対して動作します。 |
|
スケルトンに対して動作します。スケルトンのリーフ(末端)であるジョイントを検索します。 オプションの |
|
スケルトンに対して動作します。 |
|
ジオメトリに対して動作します。プロパティは、ポイント上の プロパティの値は、オプションの2つ目の引数として指定することができます。 |
|
スケルトンに対して動作します。スケルトンのルートであるジョイントを検索します。 オプションの |
|
ジオメトリに対して動作します。タグは、ポイント上の
|
|
ジオメトリに対して動作します。
|