最近Blender2.8のシェーダーエディタ(旧ノードエディタ)を触ってみています。
今回はタイトルにある通りシェーダーエディタで画像を合成する方法です。
では始めます。
1:合成する画像を用意する
今回は以下の3つの画像を合成していきます。画像それぞれをダウンロードして名前を付けて保存してください。
・logo.png
・grid.png
・map.png
2:Blender2.8でシェーダーエディタに画像を読み込む
画像の準備ができたのでBlenderでノードを組んでいきます。
Blenderを起動させて出てくるデフォルトキューブを削除し、Planeを追加します。
追加したPlaneを選択した状態で「Shading」タブを選択します。
Shading画面になるので「New」ボタンをクリックしてPlaneにMaterialを追加します。
ノードが追加されるので「Principled BSDF」をクリックで選択して「X」キーを押して削除します。
シェーダーエディタ上で「Shift + Aキー」から「Texture」→「Image Texture」を選択して追加します。
「Image Texture」のノードが追加されるので「Open」ボタンをクリックして画像を読み込みます。
画像を読み込むと以下のようになります。
同様にして他の画像についても「Image Texture」を追加して「Open」ボタンから画像を読み込みます。
ちなみにこの状態で「Material Output」の「Surface」にそれぞれのノードの「Color」を繋げてやるとPlaneに画像が表示されます。
これで画像の準備ができました。
3:Blender2.8のシェーダーエディタで画像を合成する
ではこれらの画像をノードを使って合成していきます。
シェーダーエディタ上で「Shift+Aキー」を押して「Color」→「MixRGB」を選択して追加します。
「Mix」のノードが追加されます。
「map.pngのColorをMixのColor1」に「grid.pngのColorをMixのColor2」に「grid.pngのAlphaをMixのFac」にそれぞれ繋ぎます。
この状態で「Material Output」の「Surface」にMixの出力を繋ぐと以下のようにmap.pngの上にgrid.pngが合成された画像になります。
さらにこの結果にlogo.pngも合成する場合も「MixRGB」ノードを追加して「Mixの結果を新たなMixのColor1」に「logo.pngのColorをMixのColor2」に「logo.pngのAlphaをMixのFac」に繋げばOKです。
ちなみにすべてのノードの「AlphaとFac」を繋がない場合だと、以下のようにそれぞれの画像を不透明にした状態で混ざったような形になります。
以上がシェーダーエディタで画像を合成する方法です。
ノードをどう繋いだらどうなるというのが中々想像できないので難しい印象はありますが、ちょっとずつノードを理解できるようになりたいです。
・参考資料