MRが楽しい

MRやVRについて学習したことを書き残す

TEXTURE HAVENを利用してBlender2.8で床や壁の綺麗な質感を作る その5(アンビエントオクルージョン用テクスチャの設定)

本日は Blender2.8 の練習枠です。
Blender2.8とTEXTURE HAVENを利用して床や壁の綺麗な質感を作るについて記事にします。
今回はアンビエントオクルージョン用テクスチャを設定します。
f:id:bluebirdofoz:20191010094329j:plain

アンビエントオクルージョン用テクスチャの設定

アンビエントオクルージョン用テクスチャを設定します。
これは柔らかな陰影を表現する際に利用します。主に遮蔽による光源の減衰の表現を行います。
アンビエントオクルージョン用テクスチャは[ベースカラー]に接続します。
このため、カラーテクスチャが別にある場合はこれと乗算して[ベースカラー]に入力する必要があります。

まずはノード構造を見易くするため、[ベースカラー]に関するノードをまとめます。
[シェーダーエディター]のヘッダーメニューから[追加]->[テクスチャ]->[画像テクスチャ]を選択します。
f:id:bluebirdofoz:20191010094340j:plain

作成した[フレーム]枠に、カラーテクスチャの[画像テクスチャ]ノードをドラッグして入れ込みます。
f:id:bluebirdofoz:20191010094353j:plain

アンビエントオクルージョン用テクスチャを利用するため、まずは以下の5つのノードを追加します。
・[画像テクスチャ]ノード:[追加]->[テクスチャ]->[画像テクスチャ]
・[カラーランプ]ノード:[追加]->[コンバーター]->[カラーランプ]
・[RGBミックス]ノード:[追加]->[カラー]->[RGBミックス]
・[数式]ノード:[追加]->[コンバーター]->[数式]
・[値]ノード:[追加]->[入力]->[値]
全て作成し、[フレーム]枠に移動して以下のような状態になっていることを確認します。
f:id:bluebirdofoz:20191010094406j:plain

ノードの設定と接続

1つずつ解説しながら設定し、接続していきます。

最初にアンビエントオクルージョン用テクスチャを読み込みます。
新規作成した[画像テクスチャ]ノードの[開く]ボタンをクリックします。
f:id:bluebirdofoz:20191010094418j:plain

画像のディレクトリを開き、最初にアンビエントオクルージョン用テクスチャ(~_ao_2k.jpgを選択します。
画像を選択したら[画像を開く]ボタンをクリックします。
f:id:bluebirdofoz:20191010094432j:plain

画像を読み込んだら[画像テクスチャ]ノードの[カラー]を[カラーランプ]の[係数]に接続します。
これで[カラーランプ]ノードに、アンビエントオクルージョンの色分布が係数として取り込まれます。
また、アンビエントオクルージョンは色情報のテクスチャではないため、[色空間]の設定を[Non-Color]に変更します。
f:id:bluebirdofoz:20191010094445j:plain

次に[カラーランプ]ノードの[カラー]を[ミックス]ノードの[色2]と[数式(追加)]ノードの[値]に接続します。
f:id:bluebirdofoz:20191010094458j:plain

カラーテクスチャの[画像テクスチャ]ノードの[カラー]を[ミックス]ノードの[色1]に接続します。
[値]のノードの[値]を[数式(追加)]ノードの[値]に接続します。
この時点で、以下のようにノードが繋がっていることを確認します。
f:id:bluebirdofoz:20191010094512j:plain

[ミックス]ノードにはカラーテクスチャの色情報とアンビエントオクルージョンの影情報が[色1][色2]として入力されています。
これを掛け算して1つの色を作ります。[ミックス]のプルダウンを開き、[乗算]を選択します。[係数]は[1.0]とします。
白色は[1.0]、黒色は[0.0]の値を持つので、アンビエントオクルージョンで白色のところはカラーテクスチャの色がそのまま出力され、影の黒色は黒(0.0)に近い色になって出力されます。
f:id:bluebirdofoz:20191010094522j:plain

[数式(追加)]ノードにはアンビエントオクルージョンの影情報と[値]の設定値(0.5)が入力されています。
こちらも掛け算してアンビエントオクルージョンの強さの情報を作ります。[追加]のプルダウンを開き、[乗算]を選択します。
この情報はスペキュラーの設定に利用します。スペキュラーのデフォルト値は[0.5]のため、[0.5]を最大値としたアンビエントオクルージョンの情報を作成しています。
f:id:bluebirdofoz:20191010094534j:plain

最後にノードの出力を[プリンシプルBSDF]ノードに接続します。
[ミックス(乗算)]ノードの[カラー]を[プリンシプルBSDF]ノードの[ベースカラー]に接続します。
[数式(乗算)]ノードの[値]を[プリンシプルBSDF]ノードの[スペキュラー]に接続します。
f:id:bluebirdofoz:20191010094546j:plain

これでアンビエントオクルージョン用テクスチャを利用した影の設定が出来ました。
f:id:bluebirdofoz:20191010094557j:plain

アンビエントオクルージョン前の画像と見比べると、特に溝の部分に影が描き込まれていることが分かります。
f:id:bluebirdofoz:20191010094607j:plain

次はテクスチャをタイル状に設定して平面の解像度を調整します。
bluebirdofoz.hatenablog.com

その他テクスチャについての余談

今回は以下のテクスチャについては設定しませんでした。説明のみ記述します。
なお、ダウンロードするテクスチャの種類によっては一部のテクスチャが含まれないケースもあります。
・~_spec_2k.jpg:スペキュラー用テクスチャ(映り込み)
・~_disp_2k.jpg:ディスプレイスメント用テクスチャ(変形用)

スペキュラー用テクスチャ(映り込み)

テクスチャを読み込んで[プリンシプルBSDF]ノードの[スペキュラー]に繋げて使います。
スペキュラーは風景の映り込みの強さを設定します。
[0.0]では周りの風景が映り込まず、[1.0]に近づくほど映り込みが強くなります。

ディスプレイスメント用テクスチャ(変形用)

本テクスチャのみ特殊で、マテリアルではなくモディファイアで利用します。
ディスプレイメントモディファイアに本テクスチャを設定して適用すると、頂点の凹凸が変形します。
表面上の陰影のみが変化するノーマルマップと異なり、こちらは実際に頂点の座標が変わります。