msTCメイキング
(以前お題箱にてエフェクト構成を質問されたため書いた記事です。今はやり方を変えている部分が多々あります)
msTC、事前準備が多くて動画だと説明しきれないので静画+文章になりますがよろしくお願いします
あと全てにおいて自己流なので他にもっといいやり方とかあると思うんですが、あくまで私はこうだよ~ということで…
MMD外の下準備
・モデルの材質色を統一
・モデルのテクスチャを差し替え
・モデルの標準エッジ、スフィアをオフ
・影やハイライトを出すためのテクスチャを作る
前髪材質を切り出したり顔法線もいじってますがこの辺は省略します
・モデルの材質色を統一
RayMMDを使用していた名残で材質色を変更していますが正直msTCにおいて意味があるのかはよくわかっていない。とりあえずどのモデルでもやってます
・モデルのテクスチャを差し替え
テクスチャにぼかした影などが描き込まれている部分をスポイトで取った周囲の色でベタ塗りにしていきます。
私がよく使うスターレイルの公式配布モデルは鼻部分に影が塗られているものがほとんどなので、そこだけ塗りつぶしたものに差し替えています。
他の部分はそこまでいじってません。リアルな影が塗られていてちょっと浮いてるかな~と感じたらおいおい塗ってます。
あとは色が薄く感じたらはっきりするように色調補正したり、色が浮いている場所の色相をいじったりいろいろします
・モデルの標準エッジ、スフィアをオフ
エッジは後々エフェクトで付けたいので、PMXエディタを使用してモデルの材質を全選択→エッジのチェックボックスを外しモデルの標準エッジをなくしています。スフィアも同様に全選択→スフィア無効でオフに。
ただ、顔まわりや髪などはエッジエフェクトだとうまくエッジが出ないこともあるので、そういった場合は標準エッジをオンのままにすることもあります。
・MMD環境設定
照明
赤青緑全て154
X:+0.0 Y:-1.0 Z:+1.0
セルフ影操作
影範囲:0 モード1
美影:ON
標準アンチエイリアス:OFF
(アンチエイリアスをかけないと見た目がジャギジャギするので一旦オンにしてます)
・影やハイライトを出すための指定テクスチャを作る
これを作ることで、鼻影または鼻ハイライト、髪影などを指定した場所に出せるようになります。
事前にPMXエディタ用のプラグイン、UV展開図出力プラグインを使って
モデルの顔、髪、肌、服のUV展開図を出力します。
これによってどこを塗ればいいかがある程度わかりやすくなるので、出力した展開図をモデルの元テクスチャと重ねて影、ハイライトを塗っていきます。
影を落としたくないので全面赤で塗りつぶし
白い柄とぼかしは再利用防止
上の画像はそのままだと彩度が高すぎて目に痛いので少し加工してますが、
赤色=余計な影を出したくないところ(顔など)
緑色=ハイライトを作りたいところ
青色=影を描写したいところ
黒色=テクスチャで何も制御を行わないところ
という認識で塗ってます。原色の赤緑青で大丈夫です
顔テクスチャは自力で何とかする必要がありますが、髪や服などは元のテクスチャに描き込まれているハイライト・影をなぞっていく形で問題ないと思います。
また、ここで作ったテクスチャはmsToonCoordinatorフォルダ内の
Shadeフォルダに入れておく必要があります。
MMDに移行、msTC導入
1.MMDでの準備
Shade.xとEdge.x、そぼろさんのExcellentShadow.xを読み込む
msToonCoordinatorController.pmxとdefault.vmdを読み込む
2.MMEの「エフェクト割当」での準備
mainタブで(default)とPMXモデルにMainフォルダ内のSimplePaint_EgeOff.fxを割り当てる
mainタブでExcellentShadow.xのチェックをOFFにする
msTC_ShadeRTタブでExcellentShadow.xのチェックをONにする
ExcellentShadowの品質設定は4に設定しています。
・msTC_ShadeRTタブで材質ごとにテクスチャを割り当てる
現段階だとモデル全体にShade_ExShadow.fxが割り当てられている状態になるので、先ほど作っておいた指定テクスチャを割り当ててあげる必要があります。
Shade_ExShadow.fxを複製し、メモ帳やテキストエディタなどで複製したfxファイルを開きます。
texture.pngの部分を作ったテクスチャの名前に差し替えます。
記述にある通り、先頭の // を削除することでテクスチャでの制御が有効になります
これを行った後、fxファイルを別名保存し、msTC_ShadeRTタブでモデルに適用していきます。
髪は髪、顔は顔、といった感じで全て個別にfxファイルを作ります
作ったテクスチャを各場所に割り当てた段階でこんな感じになります
目、白目、ハイライトなど顔のパーツには影を描写させたくないので、msTC_ShadeRTタブでShade_OFF.fxを適用します
この後msTCのコントローラーで影色などを調整していくのですが、その前にエッジエフェクトを入れたいので先に設定します。
・Croquis改
X:1 Si値:1 Tr値:1
入れた後、MainタブのCroquis.xからチェックを外しmsTC_EdgeRTタブのCroquis.xにチェックを入れます。
MME一覧にCM_NormalMapタブが出てくるので、エッジが必要ない場所は
NormalDrawCanceler.fxsubを割り当ててエッジをなくします。主に顔まわりなど。
これでmsTCのコントローラーで設定できる項目が全て揃ったので、コントローラーで設定をいじっていきます。うまく扱えないのでサブライトは使ってません
この辺はキャラによって色やしきい値などの変動が多いのでいい感じになるまで手探りでやります
msToonCoordinatorController.pmx
コントローラー数値
影1しきい値 0.5
影1色相適用 1
影1色相 1
影1彩度 0.3
影1明度 0.370
ハイ1しきい値 0.6
ハイ1色相適用 0.330
ハイ1色相 0.080
ハイ1彩度 1
ハイ1明度 0.870
ハイ1影を無視 1
SSS彩度 0.5
SSS明度 0.5
エッジしきい値 0.650
エッジ色相 1
エッジ彩度 0.8
エッジ明度 0.1
・msTC_ShadeColorRTタブ、msTC_EdgeRTタブで細かい調整
今の段階だと、各材質の影色はShadeColorで自動的に馴染む色が設定されている状態になっています。
ルカくんの場合は全体的に色味がまとまってるので微調整レベルにはなりますが、髪影が少し濃い感じがするのでコントローラーの影響を受けない影色を設定します
公式のゲーム内画像などから影色をスポイトし、単色で塗りつぶしたテクスチャを作ってShadeColorフォルダに保存します。
ShadeColorフォルダ内のShadeColor_Auto.fxを複製し、先ほどのテクスチャ割り当てと同じようにtexture.pngの部分を作った単色テクスチャの名前に差し替え、別名保存します。
これで作ったfxファイルをmsTC_ShadeColorRTタブで今回は髪材質に割り当てます。
また、今のままだと鼻にエッジが出ていないので、こちらもこれまで同様テクスチャでエッジを出す場所を指定します。
ただこちらはそのままやるとバグが出るので、ましまし様のマシュマロ回答やツイートなどを確認して以下を全部やって直った…気がします
変化させない場所は黒、エッジが欲しいところに赤で線を引く
Edgeフォルダ内のEdge_ON.fxを複製し、texture.pngの部分を指定テクスチャの名前に差し替え、別名保存します。
作ったfxファイルをmsTC_EdgeRTタブで顔材質に割り当てます。
msTCを使った作業はここまでです!あとはその他エフェクトをどんどん追加していきます。
・Autoluminous
目のハイライトや発光材質の強調に使います。あと単純にお借りするステージに発光材質が組み込まれている場合が多いため。
AL_EmitterRTタブで発光が欲しい材質にAL_Texture.fxsubを適用しています。
full_saturate.fxでも光りますが、ちょっと光りすぎかな?という場面が多いのでこっちはあまり使ってません
AL_Texture.fxsubを適用
・PostDropHair
前髪の影を作れます。帽子や飾りの影にも使える。
モデルの材質を参照するので、前髪のみ切り出しを行う必要があります。
私の場合、顔の全面に影が出ないようテクスチャで制御しているのでmsTCと連携させて影色を設定することができません。手作業で色を合わせてます
PostDropHair_乗算を入れ、DropHairRTタブで前髪材質に前髪影_255.fxを適用
DropHairMaskRTタブで、影が出てほしくないところ(前髪、後ろ髪、背景等)に影マスク.fxを適用します
あとはプレビュー画面のハンドルをaccessoryに切り替えてちまちま位置と色を調整
・PostRimSilhouette
モデルにリムライトを付けることができます。
RimSilhouetteタブで顔パーツや肌などにBlackMask.fxを適用させ、リムライトが出ないようにしていることがあります(白飛びの原因になるので)
・アイビーグリーン / ikClut改変-Z三種詰め合わせ内に同梱
Si値:1 Tr値:0.3
色調補正用。
ikClut改変系はほぼ勘で入れてるので、画面やキャラクターの色味によってここは別のエフェクトになったり、そもそも入らなかったりすることもあります。ルカくんのモデルを使うときはほぼこれ固定かも
・msPowerDiffusion
光をふわっと拡散させる。使ったり使わなかったり。
PostRimSilhouetteで作ったリムライトの光や髪ハイライトなどの光を良い感じに拡散してくれます。光の色味もいじれてかわいい。
光が顔にかかると結構白飛びしてしまうので、顔まわりの材質はmsPD_MaskRTタブでMask_BlackOut.fxを適用させています
逆に光がもっと強く欲しいところにはMask_Emissive_x○.0.fxを適用します。
コントローラー数値
明度_白点:1.0
明度_黒点:1.0
彩度:0.8
色の統一:1.0
・ikEdgeBlur / ikSoftfocus内に同梱
Si値1 Tr値0.0~0.5ぐらい(Tr値0.0でも仕事してくれる。謎)
何となくギザギザジャギジャギしてるな~って部分がすごく綺麗になる。エッジ周りをふわっとさせて補完してくれるような感じ。
個人的に魔法のエフェクトだと思ってます
画像で見ても全然わからんと思うので機会があったら一度お試ししてみてほしい
背景ボケを入れたいんですがステージがないとわかりにくいので先にステージを入れます。
ステージを入れると、ステージにもmsTCの効果が乗っている状態になるので
・msTC_ShadeRTタブでShade_OFF.fxを適用
・msTC_ShadeColorRTタブでステージの適用状態を解除
・msTC_SubLightRTタブでSubLight_OFF.fxを適用
・msTC_EdgeRTタブでEdge_off.fxを適用
以上を行いmsTCがステージに干渉しないようにします
ステージにはGreenerShader_ES_v1.13のGreenerShader_ES_TOON1.fxを使用しています。
ステージを入れるとPostRimSilhouetteのリムライトがなくなってしまうので、RimSilhouetteタブでステージにBlackMask.fxを適用し、Rim_Maskタブでステージのチェックを外します。
ステージのエッジは基本的に出さないようにしているため、Croquis改のCM_NormalMapタブでステージにNormalDrawCanceler.fxsubを割り当てエッジを消します
・ikBokeh
使いやすい背景ボケエフェクトです
アクセサリ操作でモデルの頭ボーンに位置を固定します
コントローラー数値
24fps、30fpsで動画を作る場合
ボケ+:0.4 前ボケ-:1.0 ピント距離+:0.2
15fpsで作る場合
ボケ+:0.2 前ボケ-:0.990 ピント距離+:0.2
ピント遅延:0.4 ピント滑り:0.4
ここから作りたいものに合わせて色々追加していきます。
あとは直近で作った動画のエフェクト構成を載せますね~~
↑これを作ります
材質割り当てや前提条件などは先に紹介したものとほぼ一緒です。
影、影色、エッジ等はテクスチャで制御
この動画では鼻のエッジ色のみ肌に馴染む色に寄せています。
msToonCoordinatorフォルダ内のEdge.fx、Edge.x、msToonCoordinatorController.pmxを複製し、全て名前をリネームします。
(今回はわかりやすいよう、~2にします)
Edge2.fxをメモ帳などで開き、コントローラ名をmsToonCoordinatorController2.pmxに変更します。
こうすることでエッジ色を複数で分けることができるようになります。
Edge2.x、msToonCoordinatorController2.pmxをMMDに入れ、コントローラーでエッジ色を調整します。
エッジが余計に出る場所はCroquis改のCM_NormalMapタブで都度エッジを切ります
PostAlphaEyeを追加
・PostAlphaEye
髪の下の目、眉毛などが透けて見えるようになります。
EyeRTタブで前髪材質のチェックを外し、目のパーツを全て選択して解除します。
ステージ後ろのオブジェクトにAutoluminousのAL_Texture.fxsub、msPowerDiffusionのMask_Emissive_x2.0.fxを適用し発光させてます。
目のハイライトにも同様のものを適用させます
msPowerDiffusionのコントローラー数値
明度_白点:0.910
明度_黒点:1.0
色相:0.050
彩度:1.0
色の統一:1.0
ikEdgeBlur
Tr値:0.10
ikBokehコントローラー数値
ボケ+:0.2
前ボケ-:0.990
ピント距離+:0.2
ピント遅延:0.4
ピント滑り:0.4
・ビビッドグリーン / ikClut改変-Z三種詰め合わせ内に同梱
Tr値:0.2
上で書いたikClutの別バージョン。
・msVignetting
四隅を暗くする、画面端に色収差をつける
コントローラー数値
ボケ_狭く:0.2
減光_狭く:0.2
減光_弱く:0.4
色ズレ_赤:0.2
・Movie / AutoAmibent内に同梱
入れておくだけでモデルの色味を自動的に周囲と馴染ませてくれる。
・msGradation
画面端からグラデーションをかける。今回は下から暗くする用に使いました
コントローラー数値
角度:0.750
幅:0.070
色相:0.6
彩度:0.6
輝度:0.4
透明度:0.4
加算/スクリーン/乗算/オーバーレイ:乗算(0.6)
・msColorCorrection
色調補正。ikClutのように特定の色を乗せるものではなく明るさやコントラストの調整用。
コントローラー数値(同梱のDefault.vmdを入れた後に操作)
ハイライト5:0.340
シャドウ5:0.420
これでひとまずMMDでの調整はおわり
・空中に漂う埃
空気感を作るため。入れるだけ
・Cr_入射光1_post / ScreenTex改変_動く入射光
上から降り注いでる光。加算モードで使用。
・MotionBlurL
Si値:0.2
Tr値:0.2
24、30fpsの動画でモーションブラーまでついているとかなり目が滑るので、基本15fpsで出力する動画の時にしか使いません。
ikBokehのピント遅延、ピント滑りと相乗効果でなんかいい感じの映像になる。
バンディング低減フィルタを入れるとうっすら出てしまう横線がだいぶ綺麗になります
Aviutlでの画面補正には
・拡張色調補正
・ノイズ除去フィルタ
・拡散光
を使用しています。
RGBで色味もつけられる
範囲を大きくするとぼやけすぎるので1で固定
画面がめちゃくちゃ綺麗になるので好きなんですが、如何せん重いのと
ぼやっとするので採用しないことも多い
あと上の動画ではほぼ床や背景が映らないので入れていないんですが、
・ikWetFloor
反射する床の表現。Tr値0.2~0.7ぐらい。
今までどんなエフェクトでも床の影や反射する床とトゥーンの質感がうまく馴染まなかったんですが、これだとかなりいい感じになります
・BlackOut
背景の明るさを下げてモデルを強調する。
・ikPostFog
フォグエフェクト。入れてモーフで操作するだけで機能するので使いやすい
この辺りも背景の空気感を作るのにめちゃくちゃ助けられてます、最近の動画はほぼ全てこれらが入ってます
クレジット
モーション
Panotic様
( https://www.bilibili.com/video/BV1hX4y1a7kk/ )
木村まこと様
( https://www.nicovideo.jp/watch/sm43693358 )
( https://youtu.be/FpVwdB7gGRw )
振付・トレース元
ぽるし様
( https://www.nicovideo.jp/watch/sm42569294 )
モデル
miHoYo様 流云景様
ステージ
NURU様 砂P様 栗ごはん様
エフェクト
ましまし様 P.I.P様 ikeno様 そぼろ様 凛0v0様
less.様 ZERA@のりたまP様 下っ腹P様 ビームマンP様
サンフラワーふじ様 化身バレッタ様 のりしお様 おたもん様


コメント