Doc:JA/2.6/Manual/Render/Animations
アニメーションのレンダリング
静止画をレンダリングすると、できあがった後に、レンダリングバッファーから画像を見たり保存したりできます。一方、アニメーションは一連の画像、すなわちフレームからなり、レンダリングされた後に自動的に、ディスクに直接保存されます。
フレームのレンダリング後、クリップの編集をする必要があるかもしれません。もしくは先にコンポジター(compositor)を使ってグリーンスクリーンマスク、マッティング、色補正、被写界深度(DOF)などを画像に施します。この結果はシーケンサー(sequencer)に流し込まれ、そこでストリップ(strip)を切ったり混ぜたりして、最終的な重ね合わせができあがります。
最後に、シーケンサーからレンダリングし、フレームを圧縮して再生可能なムービークリップを作ることができます。
作業手順
たいていの場合、アニメーション内のさまざまなフレームの発生時期やライティング、配置、材質などをチェックするために、中間的なレンダリングを何度も行います。ある時点で、公表用の完成したアニメーションの、最終的なレンダリングをする準備ができます。
ムービーやアニメーションの制作には、二つの取り組み方があります。とるべき手法はムービーのレンダリングに必要な CPU時間によって変わります(レンダリングのパフォーマンス (eng)をご覧ください)。「代表の」フレームを希望の解像度でレンダリングして時間を測り、最終的にムービーに使われるフレーム数をかけて、合計レンダリング時間を推測します。
合計レンダリング時間が1時間以上なら、各フレームごとに静止画を出力する フレーム分割(Frame Sequence) 手法をとりたくなるでしょう。たとえば、映画用の1分のビデオクリップをレンダリングする場合、フレーム数は(60秒/分)×(24フレーム/秒(または1440フレーム/分))になります。各フレームのレンダリングに30秒かかるなら、1分あたり2フレームをレンダリングでき、720分(12時間)のレンダリング時間が必要です。
レンダリングは可能な限りすべての CPU 時間を使います。夜は使われていないコンピュータを使って夜通しレンダリングすべきです。または レンダリングの間 Blender の優先度を低く設定し、他の作業をします。RAMの空きに注意してください!
直接法(Direct Approach) は(強く推奨されるものではなく、普通の方法ではありませんが)出力形式を AVI か MOV にして、アニメーションを直接ムービーファイルにレンダリングする方法です。Blender はアニメーションの全フレームを持ったひとつのファイルを作ります。次に、Blender の VSE を使ってこのアニメーションに音声トラックを追加し、MPEG形式でレンダリングしてムービーを完成させます。
フレーム分割法(Frame Sequence Approach) はもっと安定した手法です。出力形式を静止画像のものにして(例:JPG、PNG、MultiLayer)、アニメーションのレンダリングボタンをクリックします。出力は一連の画像になり、各画像が順にフレームになります。
Blender はアニメーションの各フレームに対してファイルを作ります。その後、Blender のコンポジターを使って任意のフレーム操作(ポストプロセス)を行えます。さらに最終的な連続画像を Blender の VSE で読み込んで、音声トラックをアニメーションに追加し、MPEG形式でレンダリングして書き出してムービーを完成させることができます。フレーム分割法のほうが少し難しく、ディスク容量が多く必要ですが、柔軟性があります。
以下は、手法選択の助けになるガイドラインです。
- 直接法を選ぶ条件
- レンダリング時間の合計が1時間以下の、短いもの
- 安定した電源供給
- コンピュータで他のことをしない
- フレーム分割法を選ぶ条件
- レンダリング時間の合計が1時間以上
- ポストプロダクションの作業が必要
- 色調/ライティングの調整
- グリーンスクリーン/マット置換
- 階層化(Layering)/コンポジティング
- 最終的に複数の形式やサイズの製品が必要
- 圧縮/コーデックに、中間フレームと調整が必要
- 一部で正確なタイミングが必要(音声トラックへのリップシンク等)
- コンピュータを使用する際にレンダリングを中断し、中断箇所からの再開ができてほしい
フレーム分割法(Frame Sequence)の作業手順
- はじめにアニメーションを用意します。
- 寸法(Dimensions) パネルでレンダリングのサイズ、アスペクト比、使用するフレームの範囲を、フレームレートと同じように(設定済みのはずですが)選びます。
- 出力(Output)パネルで、画像としてアニメーションをレンダリングするように準備します。普通は劣化しない形式を使います(私は PNG や Multilayer がロスレスなので好きです)。
- 同じく出力パネルで、出力先パスとファイル形式を選びます。例えば "//\render\my-anim-" です。
- アニメーションのフレーム範囲の、開始と終了を確認します。
- .blend ファイルを保存します。
- アニメーション(Animation) ボタンを押します。コンピュータが全フレームのレンダリングを終えるまで、時間のかかる作業(睡眠、ゲーム、私道の掃除等)をして待ってください。
- アニメーションがいったん完成すれば、OS のファイルエクスプローラーで出力先フォルダを開きます。この例では .\render です。そこには 0000 から最大で 9999 までの連番の振られた画像(.png や .exr など、レンダリングの形式として選んだもの)がたくさんあるでしょう。これら一枚一枚がフレームです。
- ここで、Blender の ビデオシーケンスエディタ(video sequence editor) を開きます。
- 追加(Add)メニューの 画像を追加(Add Image) を選びます。出力先フォルダにある、アニメーションに加えたいフレームをすべて選択します(全選択は A を押すと簡単です)。シーケンスエディタにはストリップとして追加されます。
- これで、ストリップを編集してエフェクトを加えることができます。または単にそのままにしておくこともできます。音声ストリップのような他のストリップを加えることができます。
- アニメーション全体をスクラブして、全フレームが含まれていることを確認します。
- ポストプロセッシング(Post Processing)パネルにある Scene Render ボタンのうち、シーケンサー(Sequencer) を有効にします。
- Format パネルで希望のコンテナとコーデック(MPEG H.264等)を選び、設定します。ビデオコーデックについては次のページをご覧ください: 出力のオプション (eng)
- アニメーションのレンダリングボタンをクリックすると、Blender がシーケンスエディタの出力をムービーとしてレンダリングします。
この手間をかけるのはなぜでしょうか? まず第一に、一枚ずつフレームをレンダリングすれば、いつでもレンダリングウィンドウで Esc を押してレンダリングを止めることができます。すでにレンダリングしたフレームは、独立したファイルとして書き出されているため、なくなることはありません。中断した箇所に範囲をあわせて、いつでも続きを行えます。
あとからフレームを編集し、ポストプロセスを施すことができます。シーケンスエディタでいかしたエフェクトを加えることができます。ほとんど苦労せずに同じシーケンスを別の解像度でレンダリングしたり(640x480、320x240 他)、別のコーデックを使ったりできますが(違うファイルサイズや品質を得られます)。
オプション
出力(Output)パネル
- デフォルトでは、アニメーションは 出力(Output) パネルで指定されたディレクトリ(アニメーションの場所と拡張子)にレンダリングされます。AVI形式が選択されると、名前は ####_####.avi になります。ここで、'####' はアニメーションの開始および終了フレームを示す、必要ならゼロで0詰めされた、4桁の整数です。
- 一方、画像形式が選択されると、####という名前の一連の画像('####' はフレーム番号)がディレクトリに作られます。
- ファイル拡張子(File Extensions)
- ファイルタイプごとに正しい拡張子を出力ファイルに付加します
- 上書き(Overwrite)
- レンダリング時に既存のファイルを上書きします
- プレースホルダー(Placeholders)
- レンダリング中、プレースホルダーである空のフレームを作ります
ポストプロセッシング(Post Processing)パネル
- シーケンサー(Sequencer)
- 3D シーンのアクティブカメラのビューの代わりに、シーケンスエディタの出力をレンダリングします。シーケンスがシーンストリップを含む場合は、これらもパイプラインの一部としてレンダリングされます。「Do Composite」も有効にされていると、シーンストリップはコンポジターの出力になります。
- コンポジティング(Compositing)
- コンポジティングヌードルの出力をレンダリングしてから、すべての画像をコンポジットノードマップに通し、Composite Outuput ノードに流し込まれた画像を表示します。
ヒント
- うへぇ! がさつな妹が PC の電源を切りました、動画レンダリングの真っ最中なのに!
- アニメーションがほんとうに単純なもので、30分以内にレンダリングできそうなら別ですが、そうでなければ、冒頭からムービーファイルとして作らず、ロスレスの形式(TGA、PNG、BMP)で切り分けた画像フレームとしてレンダリングするのは良い考えです。こうすると、レンダリングをやり直す必要のある問題が発生しても、すでにレンダリングしたフレームは出力ディレクトリに残るため、簡単に復旧できます。開始(Start) のフレーム番号を再レンダリングの開始番号に変えて、アニメーション(ANIM) をもう一度クリックするだけです。
- 中盤の数フレームだけを再レンダリングしたいのですが。
- はじめはフレーム分割してレンダリングするのもよい案です。数フレームだけにミスがあった場合に、該当のフレームだけを修正して再レンダリングできるからです。その後、Blender のシーケンスエディタやコンポジティングノードを使って、切り分けたフレームからムービーを作れます。
- 最初のフレームだけがレンダリングされ、Blender が固まります。
- アニメーションボタンをクリックして最初のフレームだけがレンダリングされるなら、出力ファイルがメディアプレイヤーによってロックされていないことを確認してください。通常はレンダリング時にコンソールを確認してください。
- Quicktime ムービーが作れません。
- CreateMovieFile error: -47
- Quicktime ムービーストリップが(おそらくVSEが)使用中のため上書きできません。もし VSE で使用中なら、ストリップを削除するか、OSのファイルエクスプローラーを使ってそのファイルを削除してください。