まれなことですが、レンダーされたイメージとインタラクティブ ウィンドウに表示されたものが一致しない場合があります。ノードが異なる順番でチェックされた場合、ディペンデンシー グラフ(Dependency Graph)での解法の違いが原因のこともあります。
最も一般的に考えられるのは、複数のマシン間で分散レンダリングした結果が整合性に欠ける、アニメーション範囲内の任意のフレームだけがレンダーされる、あるいはモーション ブラーを使用したレンダリングの結果がモーション ブラーなしのレンダリングの結果と異なる、などです。
望ましくないレンダーの一致結果を生み出す可能性があるシーン要素は次のとおりです。
- ディペンデンシー グラフ サイクル
- 任意のノードのアニメートされた nodeState
- アニメートされたトランスフォーム リミット
- マルチチェーン IK ソルバ
- 前の値を基に値を変更するエクスプレッション 例: tx = tx + 1
- 条件で値を設定するエクスプレッション 例: if (ty > 5) tx = ty
- コマンドを実行する(または Maya ノードを作成または削除する)エクスプレッション 例: sphere
- パーティクル/ソフトボディ ソリューション(timestep の変更による)
- ジオメトリ コンストレイント ノード(現在のポイントに一番近いターゲット ジオメトリ上のポイントに移動するため)
- ターゲット ウェイトの合計が 0 になる任意のコンストレイント
- worldUpType アトリビュートがなし(None)に設定された場合のエイム、接線、法線コンストレイントまたは lookAt ノード
- upVectorが aimVector と同一直線状に並んだ場合のエイム、接線、法線コンストレイントまたは lookAt ノード
- アニメートされた solverEnable 値を持つ IK
解決方法
レンダラは、フレームのレンダー直前に MEL プロシージャを起動できます。MEL プロシージャを作成(または検索)して、中間のスキップされるフレームを強制的にチェックします。このスクリプトに preFrameProc.mel という名前を付けます。このスクリプトは、レンダー設定 > レンダー オプション > プリ レンダー MEL (Render Settings > Render Options > PreRender Mel)テキスト フィールドで指定します。
MEL スクリプトを使用するには
- preFrameProc.mel という名前の MEL スクリプトを作成し、Maya スクリプト ディレクトリに入れます。
- レンダー設定 > レンダー オプション(Render Settings > Render Options)にあるプリ レンダー MEL (PreRender Mel)フィールドに preFrameProc を入力します。
モーション ブラーを使用しているときは、アニメーションをベイクしなければならない場合があります。