白黒のテクスチャを再利用してMaterialを作ってみよう
株式会社GENEROSITYに所属しているCGデザイナー丸山です。
Shaderにもよりますが白黒のテクスチャはHeightやRoughnessのマップとして
使われることが多いですよね。
私はブラウザベースやゲームエンジンでのリアルタイムレンダリングを扱うことが多いため
1枚の白黒のテクスチャ様々なチャンネルに再利用してファイル容量を軽量化する
手法に馴染みがあるのですが、そういえばプリレンダであまり組んだことがないなぁと思い
今回は試しにMaterialを組んでいこうかとおもいます。
また、本記事はBlender中級者が対象です。
今回作るもの
ショッピングバックをロゴののみで色を付けて、
エンボス加工っぽい表現を取り入れていきます。
バージョン情報と必要な素材
・Blender(私は4.2を使用してます。)
・UV展開済み任意の3Dモデル
・上記のUVに合わせて作成したロゴの白黒テクスチャ
完成形
まずは完成版を載せていきます。
分かる人はこのつなぎ型を見るだけである程度わかると思いますが
さらに細かくノード別で解説を添えたものが下記になります。
完成版は簡素なのですが
最初はアルファはどこに挿せばいいかわからず
複雑怪奇なノードを組んだ果てにこちらに落ち着きました。
よければ参考にしてください。
ここからはさらに細かく項目別に解説していきます。
- BaseColor
①紙の質感をノイズで表現
BaseColorのベースとなる紙の質感作り。
紙がつるつる過ぎると偽物っぽくなってしまうので
部分にノイズの素材を乗算で乗せていきます。
BlenderのプリセットのNoiseTextureノード使用します。
Scaleを大きくして目を細かくしてニュアンス程度にとどめます。
②ノイズと色の合成
VectorMathのMultiplyにRGBノードとNoiseTextureノードを挿入。
よく使う型なので覚えておくと便利です。
③ロゴとベースの紙の色と質感を分ける
ロゴ部分はエンボス調にするのでノイズを載せたくないし
色も分けたいのでここから白黒マップを使って分岐を作ります。
今回頻出するのがこちらのConverter>Mixノードです。
ロゴを挿すのはFacパラメータです。
切り替わりの閾値を設定していきます。
Aは白部分、Bは黒部分に対応します。
BはRGBでノード内のUIで指定できます。
こちらをPrincipled BSDFのBase Colorに繋げばおわりです。
薄々お察しかもしれませんが
こちらもMixノードで白と黒のラフネスマップの強さを調整していきます。
ちなみに白と黒のマップをそのまま反転して使いたい場合は
InvertノードでもOKです。
Bumpノードに挿しHeightからNormalを出力することができますが…
この方法は凹凸の雰囲気がイマイチなので少し面倒ですが
白黒のテクスチャからPhotoshopなどでNormalマップを作成することをお勧めします。
これで終了です。
この形は色々と使いまわせると思うのでご参考にどうぞ。
テクスチャ使いまわしのメリットデメリット
メリット
参照元のテクスチャの変更で下流の工程がすべて差し替わるため、
表現の目的が明瞭な場合はこの作業工数を削減できることが多いと感じます。
デメリット
予想外の変更に弱いとい感じます。
共通のテクスチャを使いまわしているため物凄く微細な変更を求められると
ノードを組みなおすより描きなおした方がトータルの作業工数が抑えられることもあります。
バランスが大切
上記の性質を踏まえ
今回同じ白黒テクスチャを使いまわしていますが
読み込み元の素材は共通化していて、ノード自体は分けてあります。
処理別にわけることで難読化を防ぐこと、
今後テクスチャを差し替える可能性を見越して、などの意図があります。
プロジェクトに適した形で取り入れられるといいですよね。
おわりに
もっといい組み方がありましたら是非教えていただけると嬉しいです。
それでは、エンジョイBlenderライフ!