【解説】『僕らは今のなかで』ステージのエフェクト

『僕らは今のなかで』ステージのコンポジットについての解説です。
Blenderにはコンポジット機能があり、機能をもった”ノード”をつなげていくことで様々なエフェクトをかけることができます。
たぶん、ノードの組み方はもっと効率のよい方法があります。
*記事中のスクリーンショットのノードは配布したBlenderファイルとパラメータが違います。
ファイルのダウンロードは http://bowlroll.net/up/dl35739 から。

スクリーンショット 2014-04-04 17.36.51
まずはコンポジット画面を出します。
画面上部の赤丸で囲んだ部分の「Default」を「Compositing」に切り替えます。

スクリーンショット 2014-04-04 17.37.13
するとこのような画面になります。「Use Nodes」にチェックをいれることでコンポジットが機能します。
チェックをはずすことで通常の出力結果になります。

スクリーンショット 2014-04-04 18.09.57

Viewerノード

スクリーンショット 2014-04-04 18.10.48
まずはViewerノードの説明です。このノードは「Backdrop」にチェックが入っているときにノード画面の背景として選択したViewerノードに出力された画像を表示させるノードです。
スクリーンショット 2014-04-04 18.09.57
何個か配置してそれぞれの処理を確認するのに使用しています。

Compositeノード

スクリーンショット 2014-04-04 18.13.01
最終出力ノードです。ここにつながれた画像が最終結果として出力されます。選択したノードの結果が出力されるので、このノードも複数配置して結果を切り替えることができます。

結果の確認や説明動画を製作用にViewerやCompositeノードを多数配置しているため、複雑に見えますが、処理自体はそれほど複雑ではありません。

Render Layersノード

レンダリング結果を出力するノードです。コンポジットはこのノードからはじまります。
黄色や灰色の丸は「ソケット」と呼ばれ、ノードとノードをつなぐ端子です。
Render Layersからはじめ、様々な処理ノードをつなぎ、最後にCompositeノードにつなぐのが手順です。
スクリーンショット 2014-04-04 18.22.12
Image: レンダリング画像を出力
Alphs: アルファ情報(透過情報)を出力
Z: 物体の深度を出力
Reflect: 反射情報を出力
IndexOB: オブジェクトインデックス(後ほど解説)情報を出力
IndexMA: マテリアルインデックス(後ほど解説)情報を出力
Emit: 光源情報を出力

ステージ下のライト

untitled
まずはステージ下のライトにかけてあるエフェクト解説です。
untitled2
通常はこのような”光っているかんじ”があまりないので、グレアノードを使い”光っているかんじ”を強調します。
スクリーンショット 2014-04-04 18.38.20
わかりやすいようにノードのみを抜き出すと処理はこれだけです。
まず、「IndexMA」ソケットからID Maskノードにつなげています。
IndexMAは「マテリアルインデックス」の情報を出力するソケットです。
Blenderではマテリアル(材質)やオブジェクトにインデックス(番号)をつけることができます。
ID Maskノードで値を指定することで、特定のマテリアルやオブジェクトを抜き出すことができます
untitled3
ライトの発光部のマテリアルにIndexMAの値1を指定したので、このような画像が取得できました。
その画像にグレアとガンマ値補正をかけると
untitled1
このように”光っている感じ”がでました。
グレアやガンマ値については省略します。調べればたくさんでてきます。

ステージ上の照明

untitled4
まずはこのような光っている部分の画像を取得します。
Render LayersのEmitソケットをつなぐことで取得できます。
untitled4
しかし、必要ない部分(赤枠で囲んだ箇所)があります。先ほどエフェクトをかけたステージ下照明です。
スクリーンショット 2014-04-04 18.58.39
必要な部分を抜き出すためにこのようにノードを組みます。
まずは、EmitソケットからMultiplyノードにつなぎます。このとき2つあるValueソケットのうち上につなぎます。
ID MaskノードはMultiplyノードの下のValueソケットにつなぎます。
ID MaskはIndexOB(オブジェクトインデックス)につながっています。
untitled5
IndexOBの値1でこのような画像を取得します。先ほどのステージ下照明以外の光るオブジェクトの情報が取得できました。Multiplyノードの機能は「上Valueソケットの情報の中から下Valueソケットの情報と一致する部分を探す」といったかんじです。
untitled6
Multiplyノードを通過した情報をみると、光っている箇所のうち必要とする部分のみ抜き出せました。
untitled7
あとはグレアをかけて完成です。パラメータやオブジェクトの発光具合をかえることで見た目を変えることができます。

水面の反射

最後は水面の反射にかけてあるエフェクトについてです。
今回は水面以外に反射するオブジェクトがないので、Render LayersのReflectソケットの情報を直接使います。
スクリーンショット 2014-04-04 20.29.44
あとはグレアとガンマ値の処理ノードをつなぐだけです。

合成

スクリーンショット 2014-04-04 20.33.12
各パーツの処理がおわったらMixノードを使い合成していきます。
最後にCompositeノードに接続して処理は完了です。
untitled

広告

コメントを残す(連絡がとれるメールアドレスをメールアドレス欄に入力していただければ内容によっては直接メールアドレス宛に返信します)

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中