閉じる
閉じる
世間はすっかりN2+CShaderで一杯ですがバージョンアップ配布です。
今回はトゥーン方面の機能強化のつもりです。リアル方面でも使えますが、そっちはまた後日追加光源まわりのメンテをします…。
UI更新面倒で2年近く手元に置いておいてゴメンナサイ。
今回の説明ではまずUIと項目をざっと解説します。
まずどこに何があるか把握しておかないとスムーズにいきませんからね!!
※本エントリーではほぼ全般に渡ってエフェクト付属のshading_hint.pngを使い、ExcellentShadowとExShadowSSAOを使ってスクリーンショットを作成しております。
※不要な機能はチェックを外しておくことで、シェーダーの処理は軽くなります。また同時に多量の機能を有効にしている場合、処理結果の描画が不安定になる事象も確認されております。(アルファ抜きセルフシャドウまわり?)
■シェーディング1 タブ
シェーディングヒント用テクスチャ
これを設定しないとfxを作成することはできません。一番最初に必ず設定するようにしてください。
どんな感じで影が付くかを決めるテクスチャ(画像)を指定します。
※この手のテキストボックスと参照のボタンがセットになっているところは、対象の画像をテキストボックスにドロップすることでも設定できます。
画像の左側が暗い所の色、右側が明るい所の色、アルファチャンネル(透過度)がその部分におけるハイライトの強さを示します。
ハイライト以外はMMD標準のトゥーンテクスチャと似たようなものです。
※この手のテキストボックスと参照のボタンがセットになっているところは、対象の画像をテキストボックスにドロップすることでも設定できます。
画像の左側が暗い所の色、右側が明るい所の色、アルファチャンネル(透過度)がその部分におけるハイライトの強さを示します。
ハイライト以外はMMD標準のトゥーンテクスチャと似たようなものです。
陰影の傾向
ハイライトの傾向
陰影プレビュー
それぞれ、設定したシェーディングヒント用テクスチャの状態を表示します。
■シェーディング2 タブ
ハイライトを強調する
ここのチェックを入れるとシェーディングヒントを参照してハイライトを処理します。シェーディングヒントにハイライト情報がない場合は変化がありません。
種類はハイライトの色の計算に関係して、横のスライダでハイライトの発光強さを決めます。
種類はハイライトの色の計算に関係して、横のスライダでハイライトの発光強さを決めます。
発光の強さが一定を超えるとAutoLuminousに反応するようになります。
地味の方は設定によってはAutoLuminousに反応しにくいので、あまり光りにくい材質に使うとよいかもしれません。
地味の方は設定によってはAutoLuminousに反応しにくいので、あまり光りにくい材質に使うとよいかもしれません。
ハイライトなし
ハイライト 派手(AutoLuminousなし/あり 強さ=1)
ハイライト 地味(AutoLuminousなし/あり 強さ=1)
影の色に材質の自己乗算結果を利用する
影の色を決める際にもともとの材質の色を自乗したものを利用します。(おおよそ)何回掛けるかを指定します。
※ここにチェックを入れた状態では後述のシャドウテクスチャが利用できなくなります。
影色と乗算しない
自己乗算を利用しているときのみチェックできます。
MMDのトゥーンテクスチャを含むその他の影色設定をすべて無視して、材質のその時の色からだけで影の色を決めます。
AutoLuminousに反応させない
材質がAutoLuminousで発光しないようにします。
反射の種類
通常…MMDのスペキュラと同じ計算です。
金属的…異方性反射、メカシェーダーのアレみたいな感じです。設定すると暗く沈みがちになるので、通常と同じくらい光らせたい場合はスペキュラ効果の倍率を上げてください。
金属的…異方性反射、メカシェーダーのアレみたいな感じです。設定すると暗く沈みがちになるので、通常と同じくらい光らせたい場合はスペキュラ効果の倍率を上げてください。
モデルのスペキュラ情報を利用する
チェックを入れるとモデルの材質設定のスペキュラ情報を利用し、スライダで効果の倍率を設定できます。
モデルのスフィア情報を利用する
チェックを入れるとモデルの材質設定のスフィア情報を利用し、スライダで効果の倍率を設定できます。
注意 材質の色を乗算スフィアで作っている材質の場合には、スライダを1以外にするとおかしなことになるかもしれません。
注意 材質の色を乗算スフィアで作っている材質の場合には、スライダを1以外にするとおかしなことになるかもしれません。
影の傾向色
影(陰)の色にこの色を乗算します。
■シェーディング3 タブ
シャドウテクスチャ
影(陰)の強さが最大になったときの色を決めるテクスチャを指定します。
ヒントテクスチャの陰影の傾向に従って強さと濃さが決まります(通常のテクスチャとの間で補間されます)。
ヒントテクスチャの陰影の傾向に従って強さと濃さが決まります(通常のテクスチャとの間で補間されます)。
ハイライトテクスチャ
ハイライトの強さが最大になったときの色を決めるテクスチャを指定します。
ヒントテクスチャのハイライトの傾向に従って強さと濃さが決まります(通常のテクスチャとの間で補間されます)。
ヒントテクスチャのハイライトの傾向に従って強さと濃さが決まります(通常のテクスチャとの間で補間されます)。
影傾向テクスチャ
黒(絶対に影になる)~白(絶対に影にならない)のグレースケールで陰影のなりやすさをコントロールするテクスチャを指定します。
モデルに「影傾向強さ」という名前のダミーモーフを追加しておくとこのテクスチャの効き具合をコントロールできるようになります。
モデルに「影傾向強さ」という名前のダミーモーフを追加しておくとこのテクスチャの効き具合をコントロールできるようになります。
法線テクスチャ
法線(ノーマル)マップ用のテクスチャを指定します。
法線テクスチャの解像度を指定することで、UVのループを利用して法線マップを細かくすることが可能です。
法線テクスチャのアルファチャンネルを高さとして視差マッピングを行う
言葉のままですが、法線マップテクスチャのアルファチャンネルを高さ情報として扱い、視差マッピング処理を行います。この機能はほとんどテストされていません。
※シェーディング3タブに関しては後日別エントリーで詳細の設定を追記したいと思います。
■エッジ タブ
エッジを独自描画する
このチェックを入れるとMMDのエッジ描画設定を全て無視して独自のエッジ描画処理を行います。エフェクトのコンパイルが長めになります。
MMDのエッジとは違い2番目のボーンの位置に太さの影響を受けず、カメラに寄ったりしてもあまり太くならないという特性があり、半透明材質の向こう側にあるエッジも描画されます。またエッジの色は標準では材質の色から求められた色になります(色トレース)。
ただ、MMEからエッジのON/OFFフラグを受け取れないようなので、モデル側でエッジが出ないように設定されている材質にもエッジを出してしまったりするので、単一設定では扱いにくい部分もあります。
またExShadowSSAOが有効な状況では遮蔽度の高い部分で線が太くなるようになります。
この独自エッジを使って、エッジのある・なしを制御したい場合は後述のエッジ太さテクスチャを使います。
通常の独自エッジ(左)とExShadowSSAOありの独自エッジ(右)
エッジカラーテクスチャ
エッジの色をUVに従ったテクスチャで指定します。
UVに関係なく単色のテクスチャを指定するだけでも効果を得られます。
エッジ太さテクスチャ
エッジの太さを黒(細い)~白(太い)で表した、UVに従ったテクスチャで指定します。完全な黒の部分ではエッジが表示されなくなります。
太さ
エッジの太さを指定します。あまり太くはなりません。
スケール
エッジ太さテクスチャやExShadowSSAOで太くなる倍率を設定します。
色の濃さ
影色の自己乗算と似たような感じで、元の色を何回自乗するかを設定します。
色の暗さ
上記の色の濃さを計算する前にどの程度色を暗くするか設定します。
■セルフシャドウ タブ
セルフシャドウの種類
2Dドロップシャドウを使う
これだけ付属のDropShadowというエフェクトの併用が必須で、DropShadowRTで同梱のMask.fxを適用した材質の形状を影として扱います。
これだけ他のシャドウと併用可能です。
※当機能は後日別エントリーで詳細な使い方を解説する予定です。現状はreadme.txtを参照してください。
セルフシャドウの濃さ
セルフシャドウは通常「一番暗い場所」として扱われますが、その計算を変えます。1が通常の「一番暗い場所」で、0になるとセルフシャドウが描画されなくなります。
セルフシャドウ 0/0.5/1
簡易ソフトシャドウ処理
単純なシャドウマップのぼかし処理を行います。MMD標準シャドウ以外ではあまり意味はありません。
またこれを入れると、シェーダーのコンパイルが猛烈に長くなります。
またこれを入れると、シェーダーのコンパイルが猛烈に長くなります。
ソフトシャドウ処理なし
ソフトシャドウ処理あり
テクスチャの透明部分を切り抜いたセルフシャドウを描画する
MMD標準のシャドウマップはテクスチャの透明度を考慮しないため、元のポリの形状がそのままシャドウになりますが、これをテクスチャの透明部分を考慮した形状にします。
ExcellentShadowを使っている場合も同様の恩恵を受けられる状況(MMDシャドウが強く出る個所)があります。
ExcellentShadowを使っている場合も同様の恩恵を受けられる状況(MMDシャドウが強く出る個所)があります。
シェーディングヒント計算後にセルフシャドウを処理する
具体的には「追加光源の設定をした後にセルフシャドウを載せる」のと「シェーディングヒントのグラデーションの影響を受けないセルフシャドウ」という結果になります。
■照明 タブ
照明の種類
通常…MMDの標準と似たような計算を使います。
ランバート…ランバートモデルで計算します。ランバート係数で影側の明るさが変化します。係数を0にすると陰影がなくなります。
ランバート…ランバートモデルで計算します。ランバート係数で影側の明るさが変化します。係数を0にすると陰影がなくなります。
ただしスクリーンショットの通り、ExShadowSSAOの効果には影響を与えず、シェーディングヒントの影響のみ受けます。
光と反対の面まで諧調を拡張する
通常の計算では光源と逆を向いている面はすべて一番暗い状態として処理されますが、このチェックを入れるとその範囲をぎりぎり(正反対)まで拡張して処理します。
追加光源なしで、影側がやたらのっぺりするのを防ぐ効果が期待できます。
追加光源なしで、影側がやたらのっぺりするのを防ぐ効果が期待できます。
フィルライト type 1
カメラから照らす光源を追加します。
フィルライト type 2
MMDの光源のX、Y軸を反転した位置(右上から照らしているなら左下)から照らす光源を追加します。
リムライト
簡易的な計算で視線から見て真横を向いている面を照らします。
輪郭以外でもその条件を満たす個所が照らされるのが欠点です。
光の強さと、鋭さ(光の漏れる幅)を指定できます。
輪郭以外でもその条件を満たす個所が照らされるのが欠点です。
光の強さと、鋭さ(光の漏れる幅)を指定できます。
光源方向追従法線を有効にする
チェックを入れた場合、モデルに「光源法線傾向」という名前のダミーモーフを追加してどの程度その材質の法線が光源の方を向くかを制御できます。
モーフを最大(1.0)にした場合常に材質の法線は光源の方を向くことになります。
モーフ最小~最大の変化は、どんどん指定材質が平らになっていくのに近いです。
モーフを最大(1.0)にした場合常に材質の法線は光源の方を向くことになります。
モーフ最小~最大の変化は、どんどん指定材質が平らになっていくのに近いです。
■その他 タブ
モデルのテクスチャにシェーダーで異方性フィルタリング処理をする
角度によってテクスチャによる模様がガタガタになるのを抑制します。設定した後MMDの標準の出力と差を感じない場合は設定する必要はありません。
ピクセルごとのサンプル数を大きくするとより綺麗になり、負荷が多少上がります。
ピクセルごとのサンプル数を大きくするとより綺麗になり、負荷が多少上がります。
適応型テクスチャフィルタリング処理をする
テクスチャに透明部分があるときに、透明が含まれる部分ではテクスチャへの補間フィルタを使わずに描画します。
ウインドウを常に最前面に表示する
AlternativeFullのウインドウが他のウインドウより常に手前に表示されるようにします。
値が変更されたら自動的に出力する
未実装です。
テクスチャファイルを.fxファイルと同じ場所にコピーする
このチェックを入れておかないと.fxファイルが絶対パスで記録されるようになります。
.fxを配布するときに名前バレとかする人も出ますので、必要がない限りチェックは入れたままにしてください。
.fxを配布するときに名前バレとかする人も出ますので、必要がない限りチェックは入れたままにしてください。
シェーダーの説明
.fxに出力されるメモ書きを指定できます。
わかりにくい個所や説明の足りない個所などもありますが、お気軽にコメント等で質問していただければ、エントリー新規で作ったりコメント欄で答えたりとかさせていただきます。
-
次の記事これより新しい記事はありません。
-
前の記事2016-04-15 04:45:36「今好きになる。」PV作成後記 #4
広告