場合によっては、ファイル > 新規(File > New)、ファイル > 保存(File > Save)、またはファイル > ロード(File > Load)などの後でコールバックを使用すると、反復タスクの自動化や作業環境の設定に役立つことがあります。この適用例には、ノード監視ツールを設定する場合や、ファイル > 新規(File > New)を選択した後のコールバックで、ファイルから設定をロードする、またはテンプレート環境を作成する場合などがあります。ただし、これらの操作を行うと、シーンが不必要にダーティになって、シーンを保存する必要がなくても、その必要があるとユーザが勘違いすることがあります。
この問題を回避するには、「file -modified “true”|”false”」コマンドおよびフラグを使用して、シーのダーティさをリセットします。
例として、Maya インストール ディレクトリ内にある $MAYA_LOCATION/scripts/others/supportRenderers.mel ファイルを参照してください。
新しいシーンをロードするときに、Maya は、現在のレンダラが使用可能かどうかを確認します。使用可能でない場合は、現在のレンダラを推奨レンダラに設定します。この setAttr アクションを行うと、シーンがダーティになります。ファイルが単に開かれていて、他の変更が行われていない場合は、シーンをダーティにする必要はありません。
次のコード スニペットは、以下の処理を行います。
{ int $wasModified = `file -query -modified`; setAttr "defaultRenderGlobals.currentRenderer" -type "string" $preferredRenderer; // If the scene wasn't dirtied prior to setting the current renderer, // we want to set the scene as not modified to avoid dirtying the scene. if (!$wasModified) { file -modified false; } }