
B-Toonシェーダーだけでいい感じのトゥーン調を作る
この動画のエフェクト解説モドキをつらつら書いて行きます。前置きも何もありません。
https://www.nicovideo.jp/watch/sm44378909
PMXEで行う下準備
①顔・肌のテクスチャをベタ塗りに改変
使用テクスチャは以下の二枚です。



全てベタ塗りにしてしまうと立体感が無くなってしまったので、胸周りのみそのままです。
②口回りのエッジ倍率を0に

このあたりの頂点をざっくりとでいいのでBOX選択し、編集(E)→選択頂点(V)→エッジ倍率(E)→0(0)にします。これをやらないとカメラが引きになった時に顔周りが汚くなってしまいます。
③顔法線を中央へ
大葉真琴様の「選択頂点の法線をZ軸方向に向けます。」をDLします。
顔の正面のみ頂点を選択します。どるる様のUVエディタを使用すると、とても選択し易いのでおすすめです。

「選択頂点の法線をZ軸方向に向けます。」で先ほど選択した頂点を80%ほど前に向けます。

④鼻HL用材質を追加
まずは顔の材質を面のみ複製し、テクスチャを光らせたい部分のみ描画した透過画像に変更します。(本当は材質複製プラグインで複製したほうがいいです。)


青い部分は切り抜いてください。
次に材質をALに反応するように ・反射色 ・環境色 ・反射強度 を変更します。

Raedmeに書いてある通りに ・反射色 ・環境色 ・反射強度 を調節。
最後に、AutoLuminous内のフォルダ内に入っているALMorphMaker(AutoLuminous4→Options→AutoLuminousSetterフォルダ内に入っています)を使用してモデルにALモーフを追加します。
エフェクトOFF

照明
R,G,B 全て154
X,Y,Z -0.1,-1.0,+1.0
セルフ影
モード1 9999
アンチエイリアス・地面影をoff
単色スカイドーム
青色調整 0.070
拡大 1.000
シェーダー
今回お借りしたシェーダーはこちら。
かなり改変を加えているので、これからシェーダーに行った改変を詳しく書いていきます。
結構長めです。
まずはless様のごちゃまぜシェーダー配布動画からAlternativeFull本体をDL、
AlternativeFullFrontend.exeを開きます。
①どのプリセットを元に改変するか選ぶ
先ほど開いたAlternativeFullFrontend.exeの「シェーディング1」
タブに移動。
この画面の状態でB-Toonシェーダーでデフォルトで用意されているプリセットの中から使いたいfxファイルをドラッグアンドドロップして開きます。
まずは上書き保存対策にこの状態で右上にある「参照(O)」というボタンを押して別名保存してください。
今回使用したプリセットと保存名は以下の通りです。
00.B-Toon_顔→顔_改変に別名保存
00.B-Toon_肌→肌_改変に別名保存
02.B-Toon_髪→髪_改変に別名保存
00.B-Toon→その他_テクスチャ無しに別名保存
②影色を調整
次に「シェーディング2」というタブに移動、上から二段目の項目にある
影の色に自己乗算結果を利用するというチェックボックスにチェックを入れて有効化、下のスライダーをそれぞれ以下の通りに設定します。
影の傾向色と書かれている紫色の辺りをクリックすると色の設定パレットを開けるので、「色の作成(D)>>」と書かれたボタンを押して影色を少し調整します。

肌_改変.fx
(この二つは全く同じです。)


このfx.ファイルのみ影になった時に金属部分がそれっぽくなるといいなァという願いを掛けて
反射の種類と反射強度を変更しています。
意味はなかったです。
③影傾向テクスチャの使用
まずはモデルに使われているテクスチャを元に、テクスチャに沿って影を作りたい箇所を黒塗りにしたテクスチャを用意。

テクスチャと使用シェーダーは違いますが、意図は同じなのでこの動画も参考にしてみてください。


唇の下に影を入れ、顔には余計な影が落ちないように

次に、「シェーディング3」タブに移動します。
拡張テクスチャ欄の三段目にある影傾向テクスチャボックスの右側にある
「参照」ボタンを押し、先ほど別名保存したプリセットに合わせて影傾向テクスチャを開きます。
④シェーダーでエッジを独自描画
エッジタブでの設定はそれぞれこんな感じです。
テクスチャは使わずにこれだけで良いと思います。




⑤セルフシャドウの変更
シェーダーの改変はこれで最後です。
「セルフシャドウ」タブに移動してそれぞれのfxファイルの通りに設定を変更してください。




シェーダーのみ割り当てプレビュー

ポストエフェクト
ここから先、記述のない設定項目は全てデフォルトのままです。
AutoLuminous
鼻、唇下のHLを作るために使用しました。
先ほどモデルに導入したALモーフの「LightOff」モーフを0.910にしています。
追記:完全上位互換のエフェクトを見つけました。
皆さんはミーフォ茜様のALで光る部分をテクスチャで指定するエフェクトを使いましょう。
ExcellentShadow
あまり使ったことがないので、未だに綺麗な影を作れません。
PostDropHair
前髪影の描画の為
シェーダーと色を合わせるため、前髪影.fx内にある
// 前髪影色デフォルト(R,G,B) という項目の
= float3(0.9, 0.7, 0.6);
という箇所を
= float3(150, 109, 152)/255*0.9;
と改変して前髪影_B-Toon.fxと別名保存します。
後はりどみ通りにDropHairRTタブで髪材質に前髪影_B-Toonを割り当て、DropHairMaskRTタブで以下の材質に影マスク.fxを割り当てます。

PostDirectionalLight
後ろから当てている照明です。僕たち平行照明大好き!
いくつか種類がありますが、今回読み込んだのは
PostDirectionalLightToon.pmxです。
モデル全体にはfull_AScを割り当て、顔周りの材質とスカイドームにはInvisibleMaskを割り当てます。

ボーン位置
X,Y,Z -0.45,1.00,-11.85
モーフ
弱く 0.370・強く 0.130
PostRimLightToon
spaマップを加算することでセル調のライトっぽくなるエフェクトです。
ハイライトが足りない気がしたので、髪と肌にのみかけています。

モーフ設定値
横狭く 1.000
影無視 0.100
FXAA&SMAA
Ray-mmd1.5.2に付属でついてくるアンチエイリアスエフェクトです。
Ray-mmdのExtensionフォルダ内にあるポストエフェクトは全てRay-mmdを使っていなくとも使用できるので、Ray-mmdを普段メインシェーダーとして使用しない方も是非Downloadしてみてください。
msPowerDiffusion
ましまし様のとても使いやすいDiffusionエフェクトです。
顔周りのみ光りすぎないようにMask_BlackOut.fxを割り当てます。

モーフ設定値
明度_黒点 1.000
明度_白点 1.000
透明度 0.880
LightBloom
SMAAに同じくRay-mmd1.5.2に付属でついてくるDiffusionエフェクトです。
出来上がるDiffusionはトップクラスに美しいですが、RTでのマスク機能がないので少し使いずらいです。
LightBloomController
BloomThreshold 1.000
BloomRadius+ 1.000
BloomColorAllV- 0.960
今回は全体に掛けて少し回りと馴染ませました。
WorkingFloorAL
毎度お馴染み仕事床君です。
Tr. 0.10
平素より大変お世話になっております。
編集ソフト
上からの白い光
白い平面レイヤーをいい感じに短くしたりぼかしたりしてから描画モードを比較(明)にします。
使える方はikeno様のikOverrayを使用したほうがいいと思います。
私は上手く使えません。


色調補正
いい感じに彩度をガン上げします。
今回はお借りしませんでしたが、ましまし様のmsColorCorrectionやRay-mmd1.5.2付属のColorGradingなんかを使ってもいいと思います。

その他映像効果
いい感じのノイズを追加し、画面の四隅を歪ませました。

Ray-mmd1.5.2付属のFilmGrainを利用してもいい感じのノイズが作れると思います。

完成
各工程のプレビューはこちらからご覧ください。
#MMDエフェクトメイキング
— 矛盾さん (@hokotate___mmd) January 1, 2024
詳しい解説や具体的な数値はこちら↓https://t.co/rxz9f3BPvJ
使用BGM - Magical Day / Kyatto様https://t.co/GtoFxWopsJ
その他お借りさせていただいたものは動画内にて失礼します。 pic.twitter.com/WAwRQGL8fP