Material Ambient Occlusionについて

UE4

マテリアルエディタ―でライティングを行うShading Modelで有効になっている、
Ambient Occlusion(以下、MaterialAO)インプットがあります。

AOInput

Ambient Occlusionインプット

このMaterialAOですが、どのような状況で効果が反映されるのか分かり難かったので調査しました。

準備

調査するにあたりMaterialAOを確認し易いマテリアルと、
そのマテリアルを使用したSkeletalMeshとStaticMeshのシーンを用意しました。

検証用マテリアル

検証用マテリアル

検証用シーン

検証用シーン

結果

効果を確認できたシーンを御覧ください。

Directional Light

Stationary Directional Lightでライトビルド

Point Light

Stationary Point Lightでライトビルド

Spot Light

Stationary Spot Lightでライトビルド

MAO_SkyLight

Stationary Sky Lightでライトビルド

結論として、MaterialAOの効果はライトビルドが行われたシーンの間接光(Lightmass GI)のマスクとして現れます
この効果は、ポストプロセスのGlobal Illumination > Indirect Lighting Intensityを調節すると簡単に確認が出来ます。

MAO_IndirectLightingIntensity

今まで直接光など調整していて、「効果が出てないな…」と感じていたこともうなずけます。
逆に言うと、ライトビルドを行わないとMaterialAOは意味がありません

例外として、Stationary Sky LightはライトビルドしなくてもMaterialAOの効果が現れます
(しかし、Stationaryを使用する≒ライトビルドする前提だと思うので、ライトビルドしたほうが良いでしょう)

ちなみに、UE4のもう一つのGIであるLight Propagation VolumeへはMaterialAOは影響を与えていませんでした。

今回の検証はエディタ上だけで確認したものなので、
ソースコードなどで詳しいことが分かり次第、
または、他にもMaterialAOが影響を与える機能などを発見した際には記事を更新したいと思います。


この記事の内容はUnreal Engine 4.8 で検証しました。

コメント