つくって覚える 第6回,いよいよ最終回です.
前回でアニメーション部分は完成していますが,今回は仕上げの作業として,ダイナミクスキャッシュ,MoGraphキャッシュ,ライティングやレンダリングを行っていきます.
この記事の内容は動画の23分~となります.しかし動画ではライティングやカメラ,レンダリングまでは解説していません.
ダイナミクスのキャッシュをとる
ダイナミクスをはじめとするシミュレーションはレンダリング前にキャッシュを作成して計算結果をアニメーションとしてベイクします.
その前に球体のリジッドボディタグをクローナーへ移動させます.理由としては,立方体のアニメーション使用している簡易エフェクタには「クローナーのポイントオブジェクト」が使われています.よって,球体にリジッドボディタグがある状態でキャッシュをとっても内部的には「クローナーとしてのポイントオブジェクト」は何も記録されていないことになるので,簡易エフェクタが上手く機能しなくなります.

アニメーションやシーンによっては球体にリジッドボディタグがある状態でキャッシュをとっても問題ありませんが,今回に関してはクローナー側に移動させる必要があります.
球体のリジッドボディタグを選択し,「キャッシュ」タブの「オブジェクトをベイク」を実行しキャッシュをとります.

クローナーのダイナミクスキャッシュがとれたらタイムラインスライダーを動かしてシミュレーション結果がベイクされていることを確認しましょう.

これで立方体の簡易エフェクタはクローナー全体のポイントに対して動作しています.
また,キャッシュを利用しているときはリジッドボディタグの表示がキャッシュ状態に変更になります.

シミュレーションに戻したい時は「キャッシュデータを使う」を「オフ」にします.

MoGraphキャッシュについても学ぶ
ついでにMoGraphキャッシュについても学びましょう.エフェクタによるアニメーションもキャッシュを取ることができます.MoGraphキャッシュを取ってアニメーションをベイクすることで,エフェクタをオフにしてもアニメーションは常に一定の結果を得ることができます.
クローナー 立方体を選択し,「タグ」メニューから「MoGraph」→「MoGraph キャッシュ」タグを適用します.

MoGraphキャッシュタグを選択し,「ビルド」タブの「ベイクする」をクリックするとベイクが始まります.ベイクが完了すると,MoGraphキャッシュタグの表示がキャッシュ状態を示すアイコンになります.
もしキャッシュを解除したい場合は,タグの「再生」タブを開き,「有効」を「オフ」にします.

MoGraphキャッシュをとると,エフェクタと押したアニメーションがキャッシュファイル(今はプロジェクトファイル自体に記録していますが,外部ファイルに記録することもできます)から読み取られることになります.つまり,立方体クローナーの簡易エフェクタをオフ,または削除してもエフェクタのアニメーションは再現されます.

MoGprahキャッシュを取る理由はいくつかありますが,特にディレイやディケイといった前フレームの状態が次のフレーム結果を決めるようなフィールドレイヤを使っていると,Team Renderなどの分散レンダリング機能を使った際に各レンダリングPCで結果がずれてしまうことがあります.事前にアニメーションをキャッシュとして取ることでズレの問題を回避できます.また,After EffectsでCinema 4Dを連携させる際にもキャッシュを取ることは重要になってきます.
これでダイナミクスとMoGraphキャッシュをとったら,毎フレーム計算をする必要がなくなったので,アニメーションの再生も比較的早くなったと思います.
ライティング
今回はグローバルイルミネーションを使用しない,比較的簡単でレンダリングが早いライティングを行っていきます.そこで,「フィジカルスカイ」を使ってみましょう.ライトアイコンを長押しして「フィジカルスカイ」をシーンに追加します.

フィジカルスカイは空のシミュレーションを行うのに適しています.フィジカルスカイを選択し,
「時間と場所」タブを開いたら,カレンダーと時計UIが目に入ります.日時を指定するとその時間帯の太陽の高さや空の明るさを自動的に計算してくれます.
さらに「都市」から「Asia」→「Japan」へ進むと国内の色々な都市の日照モデルを選ぶことができます.

他にも細かな設定ができますが,今回は簡単に済ませていきます.
カメラ
続いてはカメラをシーンに追加します.
カメラアングルは好みで調整してみてください.こういったモーションだとカメラアニメーションも付けた方が見栄えはよくなりますが,今回はこの作業は割愛します.
レンダリング
レンダリング設定(Ctrl + B)を開き,レンダリングに関する設定を行います.
レンダラーは「標準」にしておきます.
出力タブを開き,幅,高さを指定します.「フレームレンジ」の「開始」と「終了」のフレームを指定します.全てのフレームをレンダリングしたい場合は,「全てのフレーム」にします.

「保存」にチェックをいれ,ファイル名,フォーマットを指定します.アニメーションの場合は基本的に静止画フォーマットをして連番ファイルを書き出す方が良いですが,簡単なチェックならmp4などの動画フォーマットでも良いでしょう.

アンチエイリアスを開き,
「アンチエイリアス」…「ベスト」
にします.

最後に画像ビューアーにレンダリング(Shift + R)を実行しましょう.
以下レンダリング結果です.設定次第でもっとリッチな表現もできますが,レンダリング時間が長くなるので今回はこの程度で済ませておきます.
完成データはこちらからダウンロードできます.
> データをダウンロードする
それではつくって覚える第6回はこれで終了となります.今回の内容でMoGrpahカラーシェーダの使い方はとても便利ですので,ぜひ覚えてもらえると良いかなと思います.最後まで見ていただいた皆様,どうもありがとうございます!
次回第7回もどうぞお楽しみに!