【Blender4.5】Emission(発光)を透過画像として書き出す方法&合成の仕方

blender
記事内に広告が含まれています。

BlenderでEmission(発光)を使ったり、コンポジットでグレアの効果を適用した際に、それを書き出して合成素材を作る方法を解説します。

周囲にほのかに光る効果は、そのまま書き出して合成するとうまくいかないことが多いです。なぜうまくいかないのか、どうすればうまく合成できるのかをまとめていきたいと思います。

この記事は、BlenderでEmission(発光)、グレアを書き出して合成する方法を解説した初心者~中級者向けの記事です。

難易度 2.5

スポンサーリンク

そもそも発光やグレア効果はどうやって作られているか

Blender4.2から、発光させるためにコンポジットでGlareノードをつなげる必要があります。このノードがどうやって発光させているか見ていきます。

左側:GlareノードのGlare出力からは光がにじんだグレアの効果部分のみが出力されています。

右側:元の画像です。

右側:GlareノードのImage出力です。

左側:元の画像に、グレア効果部分をMixノードで加算して手動で合成したイメージです。

この2枚がほぼ同じ出力をしています。

つまり、発光やグレア効果って、光がにじんだ画像(グレア効果の部分)を加算合成して出力している画像なんですね。

  • 元の画像(合成モード:通常)
  • グレア部分(合成モード:加算)

この2つが合わさったものが発光した画像になります。

それを踏まえた上で、書き出し作業をしてみます

スポンサーリンク

見えている発光画像を透過画像として書き出しする

準備

レンダープロパティ

  • EEVEEの場合は、周囲への発光の影響を出すためにRaytracingにチェック
  • 背景を透過させるためにTransparentにチェック
  • 任意:色味の調整にビュー変換を変更する

コンポジットで書き出し

ポイント:Glareノードの出力結果からAlpha値(透明度)が出ていません。なので、元のAlphaに、グレアの出力結果をカラーランプで白黒値に変換したものを加算合成したものをSet AlphaノードでAlphaにセットします。

ここでカラーランプを使っているのは、グレアの効果はコンポジット画面では加算しているためこんなにはっきりと見えていますが、RGB値も不透明度もかなり小さくて、大きくしないと書き出した後にはほぼ見えないことがあるからです。

カラーランプでグレアの効果の不透明度を上げて、Mixノードで元のAlpha値と加算しますが、そのときに1を超えると元の画像よりやたら明るくなってしまうので、MixノードのClamp Resultにチェックを入れて1を超えないようにしておきます。

Set AlphaノードのモードをReplace Alphaにして、Alphaに入力した値を透明度としてセットしています。

合成の問題

こうして書き出した画像は、確かに背景が透過していて、黒い画像を背景にした場合は、大体同じような(グレアが少し弱いですが)画像に見えています。しかし、後ろが色がついている場合、明るい画像だった場合はうまくいかなくなります。

左側:合成モードが通常の場合、発光部分も色として乗っているだけなので光っているようには見えません。

右側:合成モードを加算にすると、周囲の発光部分は光っているように見えるけれど、中心部分も加算されて、何段階も明るくなってしまいます。

スポンサーリンク

通常部分と加算部分を別々に書き出す

じゃあどうすればコンポジット画面で見えたように書き出しできるのかというと、

  • 元のイメージ(合成モード:通常)
  • 発光したグレア効果部分(合成モード:加算)

この二つを分けて書き出し、編集ソフトでグレア効果部分を加算合成することです。加算されてる画像と通常合成されてる画像をいっぺんに一枚で書き出そうとすると相当難しい処理が必要になります。別々に書き出せば、あとで加算するだけで済みますし、いろいろやってみましたが、結局それが一番楽なやり方だと思いました。

コンポジットで別々に書き出す

コンポジットでは、File Outputノードという、それぞれの出力を書き出せる便利なノードがあるので、それを使います。

  • Render Layersノードからの、元のImage出力
  • GlareノードからのGlare出力

をそれぞれFile Outputノードにつなぎます。

※片方をCompositeノードにつないで普通に出力してもかまいません

File Outputの詳細設定

コンポジットの右側のNodeタブの中に、どこに出力するか設定できるプロパティがあります。

今回はDesktopにPNG画像として書き出します。Image出力は透過画像なのでColorをRGBAにするのを忘れないようにしましょう。(連番静止画の場合はそれぞれ違うフォルダを作ってそこに出力した方がいいです。)

File Subpathに入力した文字がつきます。ここで例えば「base」と入れると、base001.pngというファイル名になります。これで同じ場所に複数の画像を出力しても名前が被って上書きされたりしないようになります。

Outputプロパティでの出力について

Composite出力ノードに何も接続していませんが、Imageに黒い色が入っています。何も接続していなくても、Outputプロパティで設定した出力先に黒い画像が出力されます。

File Outputノードは追加で画像を出力してくれるものなので、Compositeノードへの出力は別として出力されます(Compositeノードを削除、出力パスを空欄にしても一時フォルダに何かが出力されるらしいですが検証していません)

プレビューなどのためにCompositeノードには出力ではない画像を接続しておきたい場合があります。連番静止画像を出力する場合など、大量にいらない画像がどこかに出力されてしまうこともあるので、適当なダミーフォルダを作ってそこに出力されるよう設定しておくのが安全です。

スポンサーリンク

書き出された画像を合成

今回は書き出した画像をまたBlenderで読み込んでいますが、フォトショップなど、他の画像編集ソフトや動画編集ソフトでも同じです。

通常のイメージ画像の上にグレア部分を加算することで、元の画像と同じような画像を再現することができます。

このように発光部分を分けて書き出しをすることで、どのような背景にも自然に合成できるようになります。

グレア部分は加算で合成することがポイントです。

コメント