針金のブロマガ
影エフェクト その2
2014-07-27 22:48:32
前回に引き続き、影!!
・HgSAO
SAO(Scalable Ambient Obscurance)エフェクトです。
moggさんが(ar568279)で紹介されていたサンプルを参考にMMD/MMMで実用的に使えるように改良してみました。元々HgSSAO開発時にモデルの陰影に溶け込むようなAOを作りたいと思って色々模索していたのですが、結局納得のいく実装にならなかった経緯があり、SAOの存在を知った時は「これだ!!」と思いすぐに飛びつきました。

実際に試した結果↑、特に細かい凹凸に対して綺麗にAOがしっかり乗ってくれるのが嬉しいところ。精巧なモデルほど効果が大きいと感じました。
一方SSAOは細かい陰影が出ない分面積の大きい部位に緩い陰影が掛かり柔らかい印象になりますね。SAOは細かい分堅いイメージになるので、うまく組み合わせると丁度良いかもしれません(HgSSAOもv0.0.2にVerUpしました)。
・HgShadow v0.0.4
HgShadowのVerUpですが内部仕様が大きく変わっています。
シャドウマップに分割空間固定正方シャドウマップCFSUSM(Cascaded Fixation Space Uniform Shadow Maps:自分が勝手に名付けた造語です)を新たに追加して、こちらをデフォ設定にしました。従来のCLSPSM(Cascaded Light Space Perspective Shadow Maps)シャドウマップはパラメータスイッチで切り替えて使用することになります。
CFSUSMは空間固定なのでカメラ操作による影境界のちらつきが起こりません。ただマップ中心位置から離れると影の精度が悪くなります。パラメータ調整がしやすく初心者向けのマップといえます。
CLSPSMは高精度なマップですが、シーンに応じて適切なパラメータを与えないとエイリアス(影境界のギザギザ)が発生してカメラ操作によるちらつきが目立ってしまします。パラメータ設定の難易度も高いため、中・上級者向けのマップです。
初期設定としては失敗が少ない方が良いだろうという判断でこのような仕様に変更しました。

実際に両者を比較してみた結果↑、マップの精度は明らかにCLSPSMの方が上ですが、動画ではシーンに応じてしっかりパラメータ調整しないと影境界のちらつきが発生して、高精度にかかわらず逆に印象が悪くなってしまいます。
この「シーンに応じて適切なパラメータを設定する」というのは結構コツのいる作業になるのでどうすればよいか・・・なのですが、この辺はまた別途記事にしたいと思います。
置き場:http://harigane.at.webry.info/201010/article_1.html
2014/7/28 追記
MikuMikuMob・MMD_SimCrowdのエフェクト定義ファイルの追加
以下のエフェクトに対応させる定義ファイル追加しました。
・HgSAO
SAO(Scalable Ambient Obscurance)エフェクトです。
moggさんが(ar568279)で紹介されていたサンプルを参考にMMD/MMMで実用的に使えるように改良してみました。元々HgSSAO開発時にモデルの陰影に溶け込むようなAOを作りたいと思って色々模索していたのですが、結局納得のいく実装にならなかった経緯があり、SAOの存在を知った時は「これだ!!」と思いすぐに飛びつきました。

実際に試した結果↑、特に細かい凹凸に対して綺麗にAOがしっかり乗ってくれるのが嬉しいところ。精巧なモデルほど効果が大きいと感じました。
一方SSAOは細かい陰影が出ない分面積の大きい部位に緩い陰影が掛かり柔らかい印象になりますね。SAOは細かい分堅いイメージになるので、うまく組み合わせると丁度良いかもしれません(HgSSAOもv0.0.2にVerUpしました)。
・HgShadow v0.0.4
HgShadowのVerUpですが内部仕様が大きく変わっています。
シャドウマップに分割空間固定正方シャドウマップCFSUSM(Cascaded Fixation Space Uniform Shadow Maps:自分が勝手に名付けた造語です)を新たに追加して、こちらをデフォ設定にしました。従来のCLSPSM(Cascaded Light Space Perspective Shadow Maps)シャドウマップはパラメータスイッチで切り替えて使用することになります。
CFSUSMは空間固定なのでカメラ操作による影境界のちらつきが起こりません。ただマップ中心位置から離れると影の精度が悪くなります。パラメータ調整がしやすく初心者向けのマップといえます。
CLSPSMは高精度なマップですが、シーンに応じて適切なパラメータを与えないとエイリアス(影境界のギザギザ)が発生してカメラ操作によるちらつきが目立ってしまします。パラメータ設定の難易度も高いため、中・上級者向けのマップです。
初期設定としては失敗が少ない方が良いだろうという判断でこのような仕様に変更しました。

実際に両者を比較してみた結果↑、マップの精度は明らかにCLSPSMの方が上ですが、動画ではシーンに応じてしっかりパラメータ調整しないと影境界のちらつきが発生して、高精度にかかわらず逆に印象が悪くなってしまいます。
この「シーンに応じて適切なパラメータを設定する」というのは結構コツのいる作業になるのでどうすればよいか・・・なのですが、この辺はまた別途記事にしたいと思います。
置き場:http://harigane.at.webry.info/201010/article_1.html
2014/7/28 追記
MikuMikuMob・MMD_SimCrowdのエフェクト定義ファイルの追加
以下のエフェクトに対応させる定義ファイル追加しました。
- HgSSAO (更新)
- HgSAO (新規)
- HgShadow (新規)