最近のエフェクト構成について語る(上級者向け)

エフェクト

今のエフェクト構成がまとまってきたので晒します。

今使ってるエフェクト構成はざっとこんな感じです。大分特殊です。こんなエフェクト構成の人他にいないんじゃないかな…。

メイキングとかではないので詳しい解説とかはしません。

前提として順光です。x0、y-0.6、z1.0。セルフ影距離は5000くらいです。

モデルとステージで別々のエフェクト掛けをするという思想です。

モデル側で設定することを多くし、ステージ側で設定することを少なくすることで色んなステージを効率よく試すことができます。

それなりのPCスペックが要ります。

スポンサーリンク

結論、モデル側でやること

  • (準備)PAToonのLocalshadowの設定
  • シェーダ適用
  • PC_objタブでPC_Objectを2つ適用
  • PostRimlightToonの顔材質にVisiblemaskを適用
  • msEdgeBlendingのマスク適用
  • Croquisのマスク
  • sddiffusionのOver

結論、ステージ側でやること

  • シェーダ適用
  • Hgshadowのチェックを外す

シェーダ

PAToon(執筆時点で2.98b)の採用理由はLocalshadowを簡単に運用できること、「ステージにセルフシャドウを出しつつ、そのセルフシャドウをモデルにかけない」という技が可能なことです。

ただ、普通のPAToonの色味だとモデル本来の色が変わってしまうので、濃い目の影だけ乗算するように改造しています。また、Hgshadowのみに反応するように改造しています。(以下はPAToonLiteのパラメータ変更、一部を抜粋)


//ExcellentShadowのフラグ(キーイング材質以外に適用。HgShadowとどちらかを適用)
// #define USE_EXCELLENTSHADOW

//HgShadowのフラグ(キーイング材質以外に適用。ExcellentShadowとどちらか。両方オンの場合はHgShadowが優先)
#define USE_HGSHADOW

//ハンドルエッジのフラグ
//#define HANDLE_EDGE

//モデルの材質設定Toon色の優先
// #define MODEL_TOON

//HAToon2のパラメーター設定

//色相の変換(RGB→HSV、色がおかしくなる場合はオフにする)
#define BLENDDIFFUSE0TEXTURE "Tex/DiffuseHue.png"
#define BLENDDIFFUSE0TEXTURE_X 256
#define BLENDDIFFUSE0TEXTURE_Y 360

//トゥーンに青みを付ける(赤みのあるテクスチャでおかしくなる場合はオフ)
// #define BLENDDIFFUSE1TEXTURE "Tex/DiffuseMulBySat.png"
#define BLENDDIFFUSE1TEXTURE_X 256
#define BLENDDIFFUSE1TEXTURE_Y 256

//デフォルトのトゥーン色(テクスチャを替えれば色調変更可。MODEL_TOONを有効にしてるとモデルの材質トゥーン優先)
#define BLENDDIFFUSE2TEXTURE "Tex/DiffuseMulc3_noadd.png"
#define BLENDDIFFUSE2TEXTURE_X 256
#define BLENDDIFFUSE2TEXTURE_Y 256

//材質を全体に明るく加算する(オフにするとモデルのデフォルトの色設定)
// #define BLENDDIFFUSE3TEXTURE "Tex/DiffuseAdd.png"
#define BLENDDIFFUSE3TEXTURE_X 256
#define BLENDDIFFUSE3TEXTURE_Y 256

//反射色(スペキュラ)を使う(トゥーンで使うのは難しいのでオフでいいと思う)
//#define BLENDSPECULAR0TEXTURE "Tex/SpecularMul.png"
//#define BLENDSPECULAR0TEXTURE_X 256
//#define BLENDSPECULAR0TEXTURE_Y 256
#define BLENDSPECULAR1TEXTURE
#define BLENDSPECULAR1TEXTURE_X 256
#define BLENDSPECULAR1TEXTURE_Y 256

#define BLENDADDSPHERE0TEXTURE
#define BLENDADDSPHERE0TEXTURE_X 256
#define BLENDADDSPHERE0TEXTURE_Y 256

//加算スフィアにトゥーンをかける(弱い光沢は無視されやすい。オフにするとデフォルトのスフィア設定)
//#define BLENDADDSPHERE1TEXTURE "Tex/AddSphereRepl.png"
//#define BLENDADDSPHERE1TEXTURE_X 256
//#define BLENDADDSPHERE1TEXTURE_Y 1

//#define BLENDADDSPHERE2TEXTURE
//#define BLENDADDSPHERE2TEXTURE_X 256
//#define BLENDADDSPHERE2TEXTURE_Y 256

DiffuseMulc3_noadd.pngは

こんな感じのテクスチャです。灰色の乗算をなくしてる感じですね。

顔にかけるPAToon.fxも同様ですがHgshadowフラグのオンは不要です。

LocalShadowなどの設定はP.I.Pさんのブログを見ましょう。

二つの影生成エフェクト

PAToonに同梱されている拡張Excellentshadowと拡張Hgshadowを使います。

なぜこんなことをするのか?と言いますと、閉所にて「ステージのセルフシャドウをモデルに反映させたくない」「モデルのセルフシャドウはステージに反映させたい」からです。ステージにセルフシャドウを使いたい、出さないとのっぺりして見える。しかし、それをするとモデルに影がかかり、モデルがかわいくなくなってしまう。モデルのセルフシャドウはステージに映らないと、影が映らなくて変。それを解決するために模索した結果こうなりました。モデルにHgshadowにだけ反応するシェーダをかけ、ステージにはExshadowに反応するシェーダをかけ、ステージのHgshadowRTタブのチェックを外すことで実現可能です。こちらの方法はP.I.Pさんにご教示いただきました。毎度のことながらありがとうございます。私のMMDライフはP.I.Pさんに助けられっぱなしです。

ステージのシェーダ

PAToon同梱の拡張Excellentshadowフォルダ内のfull2.0-ES-色調CTRを使います。

これはコントローラーで影の濃さを自由に変えることができます。

影の向きも変えることができ、よく使っています。しかし、影の向き操作があまり直感的ではなく、照明方向ボーンを変えただけだとうまく反応しないのでシェーダボーンをごにょごにょいじっています。ここ改善ポイントだと思うので誰かご教示願います…。

ikwetfloor

WorkingFloorよりリアルで馴染んでくれる感じが好きです。

人物モデルのみ適応ゾーン

PostClipで挟みます。人物モデルにpc_object適用、ステージにmask、x=1。

Croquis改v2の設定は前ブログ同様。

思い切りモデルの明度を下げます。だいたいColorFilter_HSVのz-20くらい。

ColorFilterは針金Pさんの配布ブログをよく探すと見つかります。

モデルのみティールオレンジっぽくなる色調入れると顔色が悪くなるのをある程度回避できることがわかってから入れるようにしています。

こんな感じのテクスチャをo_tonemapで指定しています。これはましましさんのnoteから色を拝借してきたもので、私は勝手にmsteelと名付けています。(ましましさんごめんなさい…)

Q&A『色調補正系エフェクトの違い』|MMDSupporter
Effectに関しては、私もHLSLが読めるわけではないので、ちょっと怪しいものもありますが、わかる限りでお答えします。 難しいものもありますが、簡単なあたりから始めましょうか。 ScreenTex 指定したテクスチャを画面上に貼り付けるエフェクトです。このテクスチャ上に好きな模様や図案を書くことで、そ...

めんどいひとはkrfilterでもティールオレンジっぽくできるし、それっぽいikclutなどを配布されてる方もたぶんいらっしゃると思うので探すと良いかもしれません。

(2022/11/20)ありました。梨原さんのikclut改変 cinemaです。これの「cinema」というclut、ものすごくおすすめです。私はこっちに乗り換えました。

ikClut改変 cinema / 梨原 さんのイラスト
ikeno様制作の色調補正エフェクトikClutを改変させて頂いたエフェクトです。 何となく映画っぽさが出るような色味を目指しました。 使いにくい所もあるかもしれませんが、使って頂けると嬉しいです。 モデル:三一

輪郭抽出はあるとないとで雰囲気が変わるので、設定が面倒だなと思いつつ入れてます。マスクの作り方はLessさんのブログを見ましょう。

私はパワシェ系動画の逆光の雰囲気に憧れつつ、首やスカートの影をちゃんと出したいという思いがあり、モデルに逆光を後から入れる方法を模索してきました。それで、tn_postpointlightやPanellightを入れるという方法も考えて実践してた時期もあったのですが、多人数動画になると少しややこしくなってくるのと、まあ真後ろから光が入ってる形でもそこまで問題ないと思い、PostRimlightToonに落ち着きました。ver8(2022/11/3執筆時点)にちゃんとアプデしましょう。こちらはリムライト方向も変えられるので、モデルに当てる光っぽく演出することも可能なんですよね。それがこちら。

窓から入ってくる光(これはスカイドームをALで無理やり光らせています)に照らされてるようにしているのがお分かりでしょうか。襟元辺りが顕著だと思います。こういう繊細な使い方から深い調整無しでダンス動画にも使えるのが強みですね。基本的にはダンスならリムライト方向はいじらず、リムライト狭めで使います。顔からはリムライトを外します。

ステージのみ適応ゾーン

人物モデルにpc_object、ステージにmaskです。x=1,z=1。これで「人物モデル以外」にかかるようになります。かけ効率がめちゃくちゃ良くなります。

msgradation2を強めに入れて上から偽の光を入れます。また閉所ではColorFilter_HSVで暗くし、HgPointlightで照らしたいところを照らします。これはBlenderでのレンダリングを体験して取り入れたことです。Blenderでのライティングは、サン、スポット、エリア、ポイントの4つのライトを駆使します。サンはMMDでいうところのデフォルト光源なのですが、違いとしてはBlenderでは暗いところから明るくするのに対し、MMDは明るいところに陰を入れます。だからMMDerのみなさんはあまり馴染みがなく、HgPointlightを使われてる方は少ないのかな、と感じます。でもRayとかsdPBRはBlenderのライティングと同じ思想な感じがしますね(素人の感想)。

話を戻しますと、何でもかんでもサンライトを使うのではなく、ポイントライトを使った方がいい場面というのがそれなりにありまして、それが閉所なのかなと思うのです。屋外だとサンライトで十分なので使う機会はあまりないかなと思います。この辺は選ぶステージとの兼ね合いですね。実は上記の私の動画、全体を暗くして窓辺にHgPointLightを置いています。そうすると教室全体は暗いのに、窓からの光は差しているという表現ができて非常に質感が向上するのです。人物モデルにHgPointLightを適用すると顔が怖くなるのでステージのみの適用です。

重ねて言いますが、屋外ならHgPointlightは不要です。明度を下げる必要もありません。

SSAO入れようかなーと模索した時期もあったのですが。透明材質(木とか)相手に汚くなったりしてイマイチだったので外しました。重いし。

光が差す系はGodray_marchingを使うことがたまにあります。

iksunshaft

これはフォグ代わりです。空気感を作ります。テストモードでどれくらい白ませるか調節して白ませます。照明位置ではなくfxファイルで指定した位置に光源が来るよう改造しています。やり方は過去ブログを参照。

色味の調節も行います。

msgradation1

スクリーンモードにして左上~上くらいから光を入れます。気持ち強めです。

AutoLuminous

肌に反応しないよう改造してます。過去ブログを参照。

sdDiffusion

sdPBRのPostEffectに入っているものです。モデルにはOverを適用してモデルが光らないようにします。雰囲気を柔らかくするため色んなディフュージョンを試したのですが、これが一番理想に近かったので採用しています。

PowerDoF

デフォルト値そのままです。DoFはそれくらい強くした方が良いです。

DoFが弱いとモデルが目立たないどころかステージとの絵柄の差でちぐはぐな印象を受けます。統一感のためにもDoFは気持ち強めにしましょう。

ColorFilter_RGBとGray

RGBは色味の微調整用、Grayは0.3~0.4くらいで一気に彩度を落とします。

私はikclut等の重ねがけはしません。あれは運要素とセンスに依存するところが多すぎますし、重ねがけのしすぎはどんどんノイズが増えます。重ねがけするくらいなら自分でclutを作った方が良いですが、それも毎カット作るのも大変です。私はGrayで彩度を落とすのを基本とし、iksunshaft、ColorFilter_RGBで色味をつけています。

トーンカーブS字やコントラスト上げ、オーバーレイが良いと聞いて試してた時期もあるんですがうまくいかず。結局背景のコントラストを軽く上げるだけになりました。

彩度を落とす理由は私の好みも大きいですが、彩度は低い方が扱いやすく初心者向けなのです。彩度が高い画は視聴者を疲れさせてしまいます。私は色彩センスがない方なので、彩度を低めにしています。MMDのモデルは基本彩度が高いので、それを下げてDoFを強めにかけるだけでも、ちょっと垢抜けたMMDにできると思います。

モーションブラーは入れません。これは単に好みの問題で、サムネ作ったり編集する時にブラーがあると結構邪魔で…。あと頂点数制限問題もありますし。私の求めてる画風的には不要と判断しています。

Aviutlでやること

  • 手ブレの追加
  • コマ落ちを入れる

手ブレはアニメーションの振動を強さ10角度0間隔70くらいで入れてます(うろ覚え)。

コマ落ちはepiさんの自然なコマ落ちを使ってます。18fpsです。

タイトルとURLをコピーしました