シーンから使用されていない空の無効な部分を削除して、シーンのサイズと複雑さを抑えることができます。シーンをすべてクリーンアップするか、個々に最適化を実行することもできます。
ファイル > シーン サイズの最適化(File > Optimize Scene Size) を選択し、削除する情報の種類を設定するか、または個々の最適化を実行します。
Maya がシーンを最適化するときに進捗バーが表示されます。キーを押してこの操作を中断することができます。最適化の結果レポートはすべてスクリプト エディタ(Script Editor)で確認できます。
シーン サイズの最適化オプション(Optimize Scene Size Options)ウィンドウのオプションを使用して行えるクリーンアップ操作について以下に説明します。
個々の入力 NURBS サーフェスと同一の NURBS サーフェスを削除します。NURBS サーフェスの入力コネクションが create に接続されている場合で、サーフェスが同じ親を持つ別の NURBS サーフェスにコネクトして入力していて、サーフェスがその入力と同じシェイプであるとき、この操作によって NURBS サーフェスが削除されます。たとえば、NURBS 球体を 再構築する場合、再構築されたサーフェスの設定が元の入力サーフェスと同一であると、再構築された球体は削除されます。
この操作によって NURBS サーフェスを削除するには、サーフェスがロックされていない、またはリファレンス ファイルからではないことに注意してください。
出力アトリビュートにダイレクト コネクションのないすべてのエクスプレッションを削除します。ダイレクト コネクションのあるエクスプレッションは、シーン内の出力アトリビュートと入力アトリビュートのリレーションシップを作成します。つまり、他のシーンにリンクされていないコネクトされたノード グループの一部であるエクスプレッションは、削除されます。なぜなら、エクスプレッションがシーンにコネクトされている出力アトリビュートを参照しないからです。反対側に何もない単位ノードは評価されないため、この操作によって削除されません。
この操作はエクスプレッション ノードのみ削除します。dynExpressions は削除されずにパーティクル シェイプに組み込まれます。
未使用のレンダリング ノードをすべて削除します。このプロシージャは次の 3 段階で進められます。
空のシェーディング グループの他に、コネクトされたサーフェス、ボリューム、ディスプレイスメント シェーダのないシェーディング グループも削除します。
出力が何にもコネクションされていないすべてのマテリアル ノード(サーフェス、ボリューム、ディスプレイスメント シェーダ)を削除します。メッセージ アトリビュートからの出力コネクションは、ノードが使用中であることを示してないため、この出力コネクション タイプのノードだけが削除されます。このステージでは、空のシェーディング グループに入力されたシェーダが削除されます。ステージ 1 では、空のシェーディング グループの shadingEngine ノードが削除されました。このノードにはコネクトされていない空のシェーディング グループに入ったマテリアルが残っています。これらのコネクトされていないマテリアルをここで削除します。
未使用のすべてのテクスチャ ノードとユーティリティ ノードを削除します。ノードは、関連する出力コネクションがない場合は未使用です。ステージ 2 から削除されたマテリアルに入力されたテクスチャとユーティリティはここで削除されます。
Optimize Scene Sizeコマンドで呼び出した MEL スクリプトを編集すると、シーン サイズの最適化オプション(Optimize Scene Size Options)にクリーンアップ操作を追加できます。cleanUpScene.melと呼ばれるこのスクリプトは、/scripts/startup ディレクトリにあります。
スクリプトを開くと、スクリプトの末尾に定義済みの関数セットがあり、シーンのクリーンアップ操作の追加や管理に役立ちます。これらの関数は以下のとおりです。