リファレンス エディタ(Reference Editor)には、親シーン内でファイル リファレンスを置き換えるための 2 つの方法があります。それぞれに利点と制限事項があります。
リファレンスの置き換え(Replace Reference)コマンドは、ファイル ブラウザを開いて現在のリファレンスを選択した他のリファレンスに置き換えます。グループ ノードやロケータはそのまま変わりません。親シーン レベルでのファイル リファレンスへの既存の編集内容は、リファレンス ノードが変更されていないため、置き換えたファイル リファレンスに適用されます。これは、置き換えるファイル リファレンスのノード名と DAG ノード階層がオリジナルとまったく同じ場合には非常に有効ですが、用途が制限されます。ノード名と DAG ノード階層が同一でない場合、リファレンスの編集内容を置き換えたリファレンスに適用するときにエラーが発生し、データが消失してしまう可能性があります。Maya はリファレンスの置き換え(Replace Reference)コマンドを使用した場合に発生する代替リファレンスを記録しないため、このコマンドは参照階層にネストされたファイル リファレンスが存在する場合にはお勧めしません。
プロキシ リファレンスを使うと、特定のファイル リファレンスの代替リファレンス セットを作成して、1 つまたは複数のファイル リファレンスの代わりに使用できます。新しいノードが作成されて複数のプロキシを記録します。プロキシ リファレンスを使用すると、プロキシ リファレンスを選択してプロキシ タグに基づいてリロードし、一度に多数のプロキシ リファレンスを置き換えることができます。これは低解像度シーンを高解像度に、またはその逆にすばやく置き換える必要がある場合に役立ちます。
特定のファイル リファレンスのプロキシ リファレンス間でアニメーションを共有する場合、特定のファイル リファレンスとその親シーンに対してさまざまなプロキシ ファイル間で同等の状態が存在していることを確認する必要があります。つまり、親シーン内でキーフレームを設定するときに、ロードするプロキシ ファイルに関係なく、適切なノードにアニメーションを適用できることを確認します。このように同等の状態にするには、プロキシ ファイルを次のように設定します。
リファレンスの作成時にグループ ノードを使用した場合は、グループ ノードのアニメーションはプロキシ間で共有されます。
ファイル リファレンスとプロキシ リファレンスを含むシーンをレンダーするとき、特に指定しないかぎりは、現在ロードしているファイル リファレンスとプロキシ リファレンスがイメージでレンダーされます。レンダーする前にレンダリング結果に表示するリファレンスをロードする必要があります。プリ レンダー MEL(Pre Render MEL)スクリプトとポスト レンダー MEL(Post Render MEL)スクリプトを使用して、レンダリングの目的に合わせてプロキシを切り替えることができます。
たとえば、現在、シーンで低解像度プロキシが表示されていて、レンダーする前に高解像度に切り替え、レンダリングの完了後に低解像度に戻す必要があるとします。リファレンス エディタ(Reference Editor)でプロキシ マネージャの名前を定義すると、プロキシごとに関連プロキシ セットのノード名を定義して、レンダリングの前後で低解像度と高解像度のプロキシを切り替える簡単なスクリプトを作成できます。
次のワークフローはレンダリングの前後でプロキシ リファレンスを切り替える方法を示します。
レンダリング前のスクリプト:
//switch to the high res version
proxySwitch treeRN;
レンダリング後のスクリプト:
//switch to the low res version
proxySwitch treeloRN;
上記のテクニックを使用すると、複数のプロキシ リファレンス間で切り替えることができます。つまり、複数の proxySwitch ラインを各スクリプトに追加すると、複数のプロキシを一度にロードまたはアンロードできます。