Blenderのマテリアルのシェーダーで、テクスチャをぼかす方法を紹介する。
テクスチャの座標をとても細かなノイズで歪ませることで、ブラーを表現している。
あくまで擬似的な方法なので普通の画像編集アプリのブラーには劣るが、非破壊にブラーをかけることができる。
もくじ
基本的な構造
- マテリアルのシェーダーエディターを開く。
- 下記のノードをそれぞれ追加し、上画像のように繋げる。
- テクスチャ座標
- マッピング
- ミックス
- ノイズテクスチャ
- テクスチャ画像
- ミックスノードは、ソフトライトにし、値に好きなぼかし量の数値を入れる。
- ノイズテクスチャは、スケールを10000程度にし、他の値を0にする。
ミックス・ノイズノードはマッピングの後でもいいかも。
応用
レンガテクスチャをボロノイで歪ませ、それをノイズのブラー処理でぼかす。
これにより、ディティールのある加工処理を行うことができる。
テクスチャ次第で様々な表現ができる
ボロノイ > ミンコフスキーの[値]を使用すれば、美しいキラキラができる。
ぼかしではないが、これ自体が模様としてやイラスト背景などに使えそう。
ノイズ感はコンポジットノードのデノイズで緩和できる
コンポジットノードのデノイズノードを利用することで、ノイズ感を多少緩和することができる。
- ノイズブラーを使用したテクスチャを、ベイクし、一旦画像化する。
- コンポジットノードにて、ベイクした画像を追加し、デノイズノードをはさむ。
- シーン設定の解像度をベイク画像のサイズにし、レンダリングする。
注意点
バンプマップ用・ディスプレイスメントマップ用の画像には使えない
このブラー方法はあくまで見かけ上のぼかしであって、実態は細かなノイズであり、ズームして見てみると実際にはガタガタである。
そのため、バンプマップのようなデータとして使う画像に対しては、この方法は利用することはできない。
ノーマルマップには使える模様。
よくある問題
UV境界が滲んで見えてしまう問題
ベイク画像であれば、ベイク時に[余白]設定を入れておく。
これにより、ブラーをかけても余白の伸びしろ分がぼけるのでUV境界がバレない。
ただし、強くブラーをかければ余白も貫通してしまうので限度はある。
ブラーがななめになって均一にボケない問題
ノイズの出力を[値]ではなく、[カラー]にすること。
値だと白黒情報なので、RGBであるカラーにする。
マッピングのリピート数を増やしたらうまくいかない問題
マッピングノードの「前」にブラー処理するか、次項のように位置をずらす必要がある。
テクスチャの端と真ん中で処理の度合いが異なる問題がある
真ん中は全体的に均一にブラーがかかっているが、端の部分では同じ量のブラーがかかっていない問題がある。
これを修正する。
座標の右上を使う
UVテクスチャ座標は、左下が0,0で右上に行くほど縦横の値が大きくなっていく。
そのせいか右上の方がボケ具合が強い。
マッピングの位置を右上にずらして、強くボケている部分を使うことで、比較的均一にボケた部分を利用することができる。
ミックスの値が強く反映されるようになるので注意
注意点として、ミックスの値が小さくても強くボケるようになるので、除算数式ノードを挟んで値を入力しやすくするとよい。
リピートした反対側の端の色が少し出てしまう問題があるが、画像の範囲外処理方法を[ミラー]にすれば対処できる。
タイリングしているならそのまま[リピート]で良い。