![見出し画像](https://assets.st-note.com/production/uploads/images/90333884/rectangle_large_type_2_ed480f3247eefe6474a5ad71b56de6eb.png?width=1200)
【Blender】色味を反映させたAO作成
ベースカラーとAOをシェーダーで合成した際、合成した部分の見栄え良くする方法をメモしておく。
ベイクしたAO (Ambient Occlusion)とベースカラーを合成する際、単純に乗算で合成することが多いが、それだけだと合成した部分で、少し黒っぽい濁りとくすみがでしまう。
AOは、グレーのグラデーションなので、それをベースカラーと乗算しただけなので黒っぽく濁ってしまうのは、しかたがないこと。
この改善として、AOにベースカラーの色味を加えた後、さらにそれとベースカラーを乗算すると濁りとくすみが取れて、見栄えが向上するので試してみよう。
<Blender 3.3.1>
■検証
早速、下図のディフューズパスで違いを比較してみる。
![](https://assets.st-note.com/img/1667391272638-KA2iJO7VB5.png?width=1200)
向かって左側より、右側の方が、濁りとくすみがない。
細部をよくみるとAOにベースカラーの色味が乗っている。
これは、些細な違いのように見えるが、ライティングを変えても、濁りやくすみが発生しないので、すっきりした見栄えが得られる。
![](https://assets.st-note.com/img/1667393791065-VaGgaognLK.png?width=1200)
上図のようにAOにベースカラーを着色できると理想。
■シェーダーグラフ
以下の通り、2つのシェーダを比較してみる。
1)AOとベースカラーを値(Value)で合成する
2)上記1)とベースカラーを乗算で合成する
※上記1)の結果は、先に説明した理想とは異なるのだが、結果が近く見えるのでよしとする。
![](https://assets.st-note.com/img/1667391924612-b2cwFIvrGY.png?width=1200)
![](https://assets.st-note.com/img/1667391111920-SssF4yD63w.png?width=1200)
レンダーパスの統合した状態だと下図のようになる。
![](https://assets.st-note.com/img/1667391518718-4Qd125UW7j.png?width=1200)
■考察
「上記1)の結果は、先に説明した理想とは異なるのだが、結果が近いのでよしとする」と述べた理由を考察。
画像合成時の計算方式が理想かどうかについてだが、今回MixRGB Nodeで利用した仕組みは下記の通り。
MixRGB Node:Value
Color1 と Color2 両ピクセルの 明度 (Value) のみブレンドする。まず、Color1 と Color2 両ピクセルの RGB 値を HSV 値 に変換する。次に両ピクセルの明度のみをブレンドし、それを Color1 の色相および彩度と組み合わせる。最後に合成された HSV 値を再度 RGB 値に変換して戻す。
上記のHSV変換だが、HSB変換なら同等になったかも。
Photoshopの描画モード>輝度 の計算方式と一緒なら理想的だった。
もう少し研究が必要そう。
描画モード:輝度
基本色の色相および彩度と、合成色の輝度を使用して、結果色を作成します。このモードでは、カラーモードの反対の効果が作成されます。
■関連記事
改良版 ↓
以上。