この例では、アセット、ファイル リファレンス、アトリビュート値の転送(Transfer Attribute Values)オプション、および子アンカーのパブリッシュ(Publish Child Anchor)オプションを使用して、ロボット モデルの腕を入れ替える方法を示します。
他のファイルから参照されるボディ パーツから構成されるロボット モデルを考えます(アセットのリファレンスの詳細については、 ファイル リファレンスを使用してアセットを参照するを参照)。これらのボディ パーツは、それぞれ適切なパブリッシュ済みアトリビュートを持つコンテナによってカプセル化されています。さらに、各コンテナの最上位グループはシーン階層に正しくペアレント化されているため、ロボットには簡単にポーズを設定できます。
ロボットが重い箱を持ち上げる新しいアニメーションについて考えます。ただし、腕がアニメーションには小さすぎます。
参照される腕のファイルを開くと、オリジナルの腕が L_RobotArm_CNT によってカプセル化されていることを確認できます。ここでは、別のより強力な腕をモデリングできます。
これで 2 つのコンテナによってそれぞれ 1 つの腕がカプセル化されました。ただし、アトリビュート値の転送(Transfer Attribute Values)オプションを使用して、メイン ロボット ファイルで参照される腕を入れ替えると、次のような結果が得られます。
腕が相互に重なって表示されてしまっています。階層を詳細に確認すると、参照される腕がキャラクタの階層に正しく配置されていないことがわかります(各グループの下から欠落しています)。これはメイン ロボット シーンがコンテナの下のノードを認識しなくなったためです(詳細については、 アセットと Maya の階層を参照)。
腕を正しく入れ替えるには、最初に新しい腕を子としてパブリッシュしてから、そのアトリビュートを転送する必要があります。
アトリビュート値の転送オプション(Transfer Attribute Values Options) ウィンドウが表示されます。
新しい腕は L_robotArm_CNT コンテナの下に編成され、以前の腕は L_robot_arm_CNTOrig コンテナの下に編成されます。
メイン ロボット ファイルを開くと、ロボットの腕が新しい強力な外観の腕に置き換えられていることを確認できます。ソース ファイルでこれらの腕を子としてパブリッシュしたので、Maya では階層の一部と認識され、ノード名ではなくノード情報が使用されて、階層内の位置が決定されます。
新しい腕のパブリッシュ済みアトリビュートが以前の腕のパブリッシュ済みアトリビュートに一致するかぎり、関連付けられた動作(アニメーションなど)は以前の腕から新しい腕に転送されます。