Blenderのテクスチャペイントで上から汚れを塗る

投稿者: | 2020-04-09


Blender2.8のテクスチャペイントモードで、レイヤーマスクのように、レンガの画像の上から汚れの画像を塗ってみました。

2つの画像はhttps://www.textures.com/からダウンロードしました。

まずシェーダーエディターで2つの「Image Texture」ノードを作って、片方にレンガ、もう片方に汚れの画像を設定して、「MixRGB」ノードで合成してみます。

「Principled BSDF」のBase Colorには、MixRGBのColorを接続します。

MixRGBの「Fac」のスライダーを動かすと合成比を変えられます。
Facが0だとColor1だけが、Facが1だとColor2だけが表示されますが、Color2の汚れの画像の透明な部分が黒くなっています。

黒い部分にはColor1に接続しているレンガの模様が見えてほしいです。

汚れの画像の透明部分を正しく表示させるためには、汚れのノードのAlphaを「Principled BSDF」などのAlphaに接続しなければいけません。

その際、マテリアルのプロパティでBlend Modeを「Alpha Hashed」などに変更したりもします。

これをしないで、ColorとColorだけを接続すると、透明部分が黒く表示されます。

AlphaとColorを接続すると、透明部分は黒で、不透明部分は白で表示されます。

そこで、AlphaをMixRGBのFacに接続します。

これによって、不透明な部分はFacの値が高いのでColor2が表示されて、透明な黒い部分はFacが0なのでレンガの画像が表示されます。
これでレンガ + 汚れの画像ができます。

さらに、MixRGBノードを追加して、レンガの画像のColorをColor1に、先に作ったMixRGBのColorをColor2に接続します。

2つ目のMixRGBのFacのスライダーを動かすと、レンガだけの画像と、レンガ + 汚れの画像を行き来します。

このFacの値をテクスチャペイントで操作してみます。
まずテクスチャペイントモードにして、テクスチャスロットにBase Colorのテクスチャを追加します。

すると、シェーダーエディターに今追加したテクスチャが設定されたImage Textureノードが作られているので、このColorと2つ目のMixRGBのFacを接続します。

これで、このMixRGBのFacの値を新しく追加したテクスチャの色で設定できます。

テクスチャペイントモードに戻って、テクスチャスロットでこのテクスチャを選択し、ブラシツールで白黒で塗ります。

黒で塗ると汚れが消えて、白だと汚れが付きます。グレーだと薄く汚れが付きます。

こうして作ったマテリアルの色をベイクしてみます。

まず、シェーダーエディタでImage Textureノードを作り、Newから新しい画像を作って、このノードを選択した状態にしておきます。

そして、レンダープロパティでレンダーエンジンをCyclesにし、Bakeパネルで色だけがベイクされるように設定して「Bake」ボタンを押します。

ベイクが終わると、Image Editorでベイクされた画像を見れます。

メニューから画像を保存できます。

ハイトマップ等を同じ様に合成して、ノーマルマップも作れます。

一人称ステルスホラーゲームをitch.ioで公開しました。

https://nekoromorph.itch.io/hatch

コメントを残す

メールアドレスが公開されることはありません。