元記事:
blender.org - Render Passes訳注:UV Pass 追加に伴い、RenderLayer パネルの画像を当方で差し替えています。
レンダー Pass
2.40のレンダーパイプラインが改良され、タイルベースのレンダリングや、Render Layer、統合された Compositor の導入が行われました。真の Pass レンダリングには、シェーディングを処理するコード自身を再構成する必要がありました。それが2.43で使用可能になりました。
Pass の実装についてはこちらをご覧下さい。
http://wiki.blender.org/index.php/BlenderDev/RenderPipeline'Combined' Pass のコントロール
Pass にレンダリングした時、"Combined" Pass を合成にも使用できるよう、この Pass を "Combined" Pass には追加したくない場合があると思います。
[Ctrl]を押しながら、小さなグレーのドットのある Pass ボタンをクリックすることにより、その Pass 追加を ON/OFF できます。この時、黒いドットは "Combined" から除外されることを表します。
また、これは Pass にレンダリングせずに "Combined" をまとめる方法ともいえます。上のスクリーンショットでは、ちょうどスペキュラと AO についてそれが行われています。
このスクリーンショットは、シンプルな Scene のほぼすべてのレンダー Pass を表示したものです。左から右に、上から順に説明していきます。
Color のみ、Diffuse、Specular、Shadow、Ambient Occlusion、Reflection(反射)、Refraction(屈折)、Normal、Object Index、Z。
注意:Reflection と Refraction は「加算する」物です。負のカラーも格納できるため、この Composite の設定では、灰色が加算合成されています。
上記のデモファイルです。
download.blender.org/demo/test/2.43/monkey_cornelius_passes.blendRender Layer オプション
三つの RenderLayer、各々に自分用のライトグループを適用
Blender の
レンダーパイプラインがレンダリングできる RenderLayer の数に制限はありませんが、それぞれの RenderLayer の Pass は有限です。その理由は簡単で、RenderLayer はどの(タイプの)ジオメトリを処理するかを決定し、Pass はシェーダの結果を格納しているからです。
RenderLayer に、Pass レンダリングと Composite を細かくコントロールできる、三つの新しいオプションが加えられました。
- Light Override: RenderLayer に Group 名を与えると、その RenderLayer はその Group 内の Lamp のみレンダリングします。(それぞれに Pass のある)複数の RenderLayer を後で合成するために、違う Lamp でレンダリングできます。
- Material Override: RenderLayer に Material 名を与えると、その RenderLayer はすべての Face について、その Material の物のみレンダリングします。例えば、グローバル座標系の Blend を持つ Material などでマスクを作成する時などに便利です。
- Enable/Disable layer: RenderLayer 名のすぐ左にあるアイコンボタンは、その RenderLayer のレンダリングを禁止します。すべての Pass/Layer オプションのテストや、プレビューレンダーの設定に便利です。
マルチレイヤファイルと閲覧
Pass のレンダリング結果を一つのファイルに収めて保存できます。
また、マルチ Pass 画像の閲覧もできます。
詳しくは
こちらをご覧下さい。
各 Pass の紹介
各 Pass は SceneButtons の RenderLayer パネルから有効化できます。
それぞれの Render Layer にはまず最初に Layer オプション(Solid、Halo、Ztransp、Sky、Edge)を設定しなければなりません。Pass は Solid と Ztransp Layer(これが実際の Face をシェーディングするので)でのみ使用可能です。
Render オプション、"Save Buffers" はすべての Pass を持つ一時 .exr ファイルを作成します。Compositor のウィンドウ上でホットキー[R]を押すことで、強制的にこのファイルの再読み込みさせることができます。
Combinedデフォルトの Pass で、RGBA 画像。レンダリング中、表示の更新がいつでも可能です。セットされると、すべてのレンダリングオプションと Pass 群がここに集約されます。Halo と Edge レンダリングもここに入ります。
Zカメラからの距離を Blender 単位で、1つの浮動小数点数値で提供します。アンチエリアスされておらず、一つのピクセルには、一番近い Z 値が格納されます。
Vecスピードベクトルで、Vector Blur 用です。2×2の値が出力されます。
Norレンダリングされた Normal で、-1から1の範囲の、3つの浮動小数点数値です。
UVこの Pass には UV テクスチャが適用された各 Face の UV 値が書き出されます。適切なマスクを行うため、Alpha 値も書き出されます。
UV Mask ノードのページもご覧下さい。
IndexObすべての Object に、インデックスナンバーを持たせることができます(Object Context Buttons、"Object and Links" パネル内の "Pass Index" ボタン)。これらの値はこの Pass で一つの浮動小数点数値としてレンダリングされます。これを使用して合成用のマスクを作成できます。この Pass はアンチエリアスされていないことに注意して下さい。
Index Mask ノードのページもご覧下さい。
ColMaterial や Texture が返す、RGB の浮動小数点数値そのものです。
Diff浮動小数点数値 RGB の素のディフューズ成分のみ。影やスペキュラ、環境光はありません。これには Material や Ramp の色が含まれています。
Spec浮動小数点数値 RGB のスペキュラ成分。すでに影によってマスクされています。
Shadこれは影(Shadow)の Pass で、浮動小数点数値 RGB です。
影を含むディフューズを、影のないディフューズで除算(Divide)して取り出しています。ディフューズ成分(Diff)と組み合わせるには、乗算合成(Multiply)して下さい。
AOAmbient Occlusion の Pass で、浮動小数点数値 RGB です。これは「素の」Pass であり、Combined Pass で使用されているような「ディフューズ成分」へは変換されていません(よって、"Add"、"Sub"、"Both" のオプションは格納されていません)。この Pass のみがアクティブな場合、シェーディングや影の計算は行われません。
Reflレイトレースもしくは環境マッピングされた反射(Reflection)Pass。浮動小数点数値 RGB。これは反射のあるディフューズとないディフューズとの差異です。この Pass は加算合成(Add)して下さい。
Refrレイトレースされた屈折(Refraction)Pass。浮動小数点数値 RGB。これは屈折のあるディフューズとないディフューズとの差異です。この Pass を組み合わせるには加算合成(Add)して下さい。
Outliner view
Outliner でも RenderLayer と Pass が表示できるようになりました。
最初の列は RenderLayer もしくは Pass のON/OFF 用、二つめの列は、"exclude from combined(合成から排除)"オプション用です。
元記事:
blender.org - Render Passes