MMDモデルトゥーン化手順(msToonCoordinator2.1)
本記事では、自作モデル「やせいの式白石杏ver1.0」をmsToonCoordinator2.1を使用してトゥーン化した手順をまとめています。素人が試行錯誤しながらなんとか形にしたものなので、参考程度に見ていただければ幸いです。
msToonCoordinatorの基本的な使用方法については、配布元であるましまし様の以下の動画を参照ください。
今回作成するもの
最終的にこのようになるはずです。(はずです)
使用するモデルデータ
※【2022/04/03】太もも裏に重複頂点があり、意図しないエッジが描写されていたので修正しました。
やせいの式白石杏ver1.0を、msToon用にテクスチャベタ塗りしたりしたものです。後々登場する、影やハイライトの位置を指定するための.fxデータ、影色を指定するための.fxデータも同梱しています。
同梱の[readme.txt]をお読みいただいた上でご自由にお使いください。
作業環境
準備(初回のみ必要な手順)
①以下のエフェクトをDL
※()内はサンプル画像で使用したバージョン
②「Croquis改_v2」フォルダ > [Croquis.fx]の以下の二か所を変更
1)「* 距離によるエッジ太さのコントロールを利用する」の部分
* 距離によるエッジ太さのコントロールを利用する
//#define USE_EDGE_STRENGTH_DISTANCE_CONTROL
↓変更
* 距離によるエッジ太さのコントロールを利用する
#define USE_EDGE_STRENGTH_DISTANCE_CONTROL
2)「* 色トレスエッジを使わないときのエッジの色」の部分
※エッジに関してはmsToonのコントローラーで調整できるので不要な作業かもしれませんが、いつもこの値でやっているので一応書いておきます。
* 色トレスエッジを使わないときのエッジの色
float4 FrontColor <
string UIName = "線の色";
string UIWidget = "Color";
bool UIVisible = true;
float4 UIDefault = float4(0, 0, 0, 1);
> = float4( 0.0 , 0.0 , 0.0 , 1.0 );
↓変更
* 色トレスエッジを使わないときのエッジの色
float4 FrontColor <
string UIName = "線の色";
string UIWidget = "Color";
bool UIVisible = true;
float4 UIDefault = float4(0, 0, 0, 1);
> = float4( 0.28 , 0.07 , 0.06 , 1.0 );
③「msToonCoordinator_v2.1」フォルダ > [Shade.fx]の以下の三か所を変更
1)「//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください」の部分
//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください
#define ANTIALIAS
↓変更
//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください
//#define ANTIALIAS
2)「//ベース色と影色の境界で色を強調する」の部分
//ベース色と影色の境界で色を強調する
#define EDGE_CHROMA
↓変更
//ベース色と影色の境界で色を強調する
//#define EDGE_CHROMA
3)「// 背景のクリア値」の部分
// 背景のクリア値
float4 ClearColor = {0.0, 1.0, 1.0, 0.0};
↓変更
// 背景のクリア値
float4 ClearColor = {1.0, 1.0, 1.0, 0.0};
④「msToonCoordinator_v2.1」フォルダ > [Edge.fx]の以下の一か所を変更
1)「//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください」の部分
//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください
#define ANTIALIAS
↓変更
//MMDでアンチエイリアスをOFFにするときはコメントアウトしてください
//#define ANTIALIAS
⑤配布データの「Shade_杏ちゃん」フォルダ内のファイルを、すべて「msToonCoordinator_v2.1」フォルダ > 「Shade」フォルダにコピー
⑥同様に「ShadeColor_杏ちゃん」フォルダ内のファイルを、すべて「ShadeColor」フォルダにコピー
トゥーン化手順
01 モデルのロード
MMDでモデルをロード
※「表示」>アンチエイリアスをOFFにする
02 エフェクトをかけるベースを作る
「エフェクト割当」
↓
◆「Main」タブ
「msToonCoordinator_v2.1」フォルダ > 「Main」フォルダ
>[SimplePaint_EgeOff.fx]をモデルに適用
>「OK」
03 [Shade.x]をロード
「msToonCoordinator_v2.1」フォルダ
>[Shade.x]をMMDに直接D&D
04 [ExcellentShadow.x]をロード
「ExcellentShadow」フォルダ
>[ExcellentShadow.x]をMMDに直接D&D
05 msToonのコントローラーをロード
「msToonCoordinator_v2.1」フォルダ
>[msToonCoordinatorController.pmx]をMMDに直接D&D
06 コントローラーの初期値を設定
「msToonCoordinator_v2.1」フォルダ
>[default_v2.vmd]をMMDに直接D&D
※エラーが起きる場合はMMDの「ファイル」>「モーションデータ読込」から開く
07 [ExcellentShadow.x]をmsToonで描画
「エフェクト割当」
↓
◆「Main」タブ
[ExcellentShadow.x]を✔OFF
◆「msTC_ShadeRT」タブ
[ExcellentShadow.x]を✔ON
>「OK」
08 [Edge.x]をロード
「msToonCoordinator_v2.1」フォルダ
>[Edge.x]をMMDに直接D&D
09 [Croquis.x]をロード
「Croquis改_v2」フォルダ
>[Croquis.x]をMMDに直接D&D
★★「アクセサリ操作」で X:1、Y:0.5、Z:1、Si:4 に設定★★
10 [Croquis.x]をmsToonで描画
「エフェクト割当」
↓
◆「Main」タブ
[Croquis.x]を✔OFF
◆「msTC_EdgeRT」タブ
[Croquis.x]を✔ON
11 影、ハイライトの描画を制御
◆「msTC_ShadeRT」タブ
モデルを選択した状態で右クリックで「サブセット展開」をON
②「msToonCoordinator_v2.1」フォルダ
>「Shade」フォルダ内の各.fxファイルを材質ごとに割り当て、影、ハイライトの出やすさを設定
※各.fxファイル内で指定しているpngファイル(face_an.pngなど)を編集すれば、好きな位置に影、ハイライトを描画できます。影を出したくない部分は赤、影を出やすくしたい部分は青、ハイライトにしたい部分は緑で塗ります。
配布モデルの「UVmap」フォルダにUV展開図をぶち込んでいるので、よろしければそちらを元に塗り塗りしてください。
.fxファイルを複製しテキストエディタで開き、以下の記述をご自分で用意したpngファイルに書き換えれば、服等の影・ハイライトも制御できます。
//eye_an.pngの部分を書き換える※pngファイルは.fxファイルと同じフォルダに入れる
#define SHADOW_RATE_TEXTURE "eye_an.png"
12 影の色を制御
◆「msTC_ShadeColorRT」タブ
「msToonCoordinator_v2.1」フォルダ
>「ShadeColor」フォルダ内の各.fxファイルを材質ごとに割り当て、影色を設定
※各fxファイル内で指定しているpngファイル(shadecolor_skin_AN.pngなど)を編集すれば、好きな色の影を描画できます。
当モデル用に配布しているpngファイルは1×1ピクセルの豆粒サイズで作っているので、かなり拡大しないと目視すらできないかもです。
.fxファイルを複製しテキストエディタで開き、以下の記述をご自分で用意したpngファイルに書き換えれば、好きな影色を設定できます。
//shadecolor_skin_AN.pngの部分を書き換える※pngファイルは.fxファイルと同じフォルダに入れる
#define SHADOW_COLOR_TEXTURE "shadecolor_skin_AN.png"
13 前髪の影をmsToonでのみ描画
◆「Main」タブ
14 エッジの描画を制御
◆「CM_ObjectColorMap」タブ
◆「CM_EdgeStrengthMap」タブ
◆「CM_NormalDepthMap」タブ
「Croquis改_v2」フォルダ内の各.fxsubファイルを材質ごとに割り当て、エッジを設定
◆「CM_ObjectColorMap」タブ
◆「CM_EdgeStrengthMap」タブ
◆「CM_NormalDepthMap」タブ
※エッジに関しては完全にフィーリングで設定しています。所々意味のないことをしていたらすみません。
15 [PostRimLightToon.pmx]をロード
「PostRimLightToon_v07」フォルダ
>[PostRimLightToon.pmx]をMMDに直接D&D
★★「表情操作」で 赤:1 に設定★★
16 [PostRimLightToon.pmx]をmsToonで描画
「エフェクト割当」
↓
◆「Main」タブ
[PostRimLightToon.pmx]を✔OFF
◆「msTC_SublightRT」タブ
[PostRimLightToon.pmx]を✔ON
17 サブライトの色を制御
[msToonCoordinatorController.pmx]の「表情操作」で Sub1明度:1 に設定
これ以降はお好みで
①ステージの設定
お好みのステージをロード
(サンプル画像ではしゃち様の単色スカイドームv1.0を使用)「エフェクト割当」で各タブを以下のように設定
(msToonの影響を受けないように設定しています)
②画面全体にグラデーションをかける
「msGradation_ver.2.0」フォルダ > 「msGradation1」フォルダ
>[msGradation1.x]と[msGradation1Controller.pmx]をMMDに直接D&D[msGradation1Controller.pmx]の表情操作で以下に設定
角度:0.25
輝度:0.2
加/ス/乗/オ:0.25「msGradation_ver.2.0」フォルダ > 「msGradation2」フォルダ
>[msGradation2.x]と[msGradation2Controller.pmx]をMMDに直接D&D[msGradation2Controller.pmx]の表情操作で以下に設定
角度:0.75
色相:0.52
彩度:1
加/ス/乗/オ:0.75
③ディフュージョンフィルタをかける
「o_Diffusion_v0_5」フォルダ
>[o_Diffusion.x]をMMDに直接D&D[o_Diffusion.x]のアクセサリ操作で Si:0.5 に設定
④アンチエイリアスをかける
「SMAA-master」フォルダ
>[SMAA.x]をMMDに直接D&D
完成
出力する時は美影ONにすると影が綺麗です。
DOF系エフェクトを使用してモデルのエッジが削られてしまうor変にボケてしまうときは、P.I.P様の「DOF各種エッジ対策」の併用がおすすめです。
「ここ間違ってるよ!」「こうした方が綺麗だよ!」等々ございましたらぜひご教示ください!