PCゲーム「カスタムメイド3D2」「カスタムオーダーメイド3D2」用のMOD制作情報まとめです。



●3Dモデルに適用する質感やテクスチャを設定する為のファイル。
 どのテクスチャを貼るか、影色や輪郭色の指定、光が当たった時の処理、透過する度合い等を設定する。
 menuファイル内で

  マテリアル変更

 を記述することで有効になる

各値について

・初期のmate編集ツールでは値1〜4が何の事なのかわかりにくいが、最新編集ツールでは改められている。

  • 値1(マテリアル名):基本的にファイル名と同じ名前を指定する。
  • 値2(pmat):アイテムの描画順を決めるマテリアル名を指定する。他のマテリアル名を書けば、その描画順が適用される。
  描画順はGamedataフォルダ内「prioritymaterial.arc」の.pmatファイル(mateと同名)を参照している。
  Trans(透過)シェーダーの場合は、pmat内でマテリアル名と紐づけてあるRQ値(描画優先度)が高いほど前面に描画される。
  マテリアル名と同名の専用pmatが無い場合、RQはデフォルト値となる(不透明なら2000、透過なら3000)。

  .pmatを自作しない場合は同カテゴリの公式pmatファイル名を指定するとよい
  .pmatでRQを設定していないファイル名だと汎用の設定値が使用される為、そのカテゴリで最適な状態にならない場合もある。
  直接数字を書いてもファイル名と認識されるほか、大文字小文字を区別するため、きっちり指定する必要がある。
  もう少し詳しい話は「pmat」のページを参照。
  • 値3,値4(シェーダー1,2):それぞれシェーダー1、2を指定する。model内のマテリアル設定と同じシェーダー1、2にしないとエラーが出る。

シェーダー一覧

シェーダー1シェーダー2概要
CM3D2/ManCM3D2__Manご主人様やNPC男のシルエット表示
CM3D2/MosaicCM3D2__Mosaicモザイク
CM3D2/Toony_LightedCM3D2__Toony_Lightedトゥーン
CM3D2/Toony_Lighted_OutlineCM3D2__Toony_Lighted_Outlineトゥーン・輪郭線
CM3D2/Toony_Lighted_Outline_TransCM3D2__Toony_Lighted_Outline_Transトゥーン・輪郭線・透過
CM3D2/Toony_Lighted_TransCM3D2__Toony_Lighted_Transトゥーン・透過
CM3D2/Toony_Lighted_Trans_NoZCM3D2__Toony_Lighted_Trans_NoZトゥーン・透過・NoZ
CM3D2/Toony_Lighted_HairCM3D2__Toony_Lighted_Hairトゥーン・髪
CM3D2/Toony_Lighted_Hair_OutlineCM3D2__Toony_Lighted_Hair_Outlineトゥーン・髪・輪郭線
CM3D2/Toony_Lighted_Cutout_AtCCM3D2__Toony_Lighted_Cutout_AtCトゥーン・カットアウト
COMで追加されたシェーダー。CM3D2で使う場合はセルフシャドウがメッシュ形状になる
CM3D2/LightedCM3D2__Lightedトゥーン無し。スポットライトやポイントライト時と同じ状態
CM3D2/Lighted_TransCM3D2__Lighted_Transトゥーン無し・透過
Unlit/TextureUnlit__Texture光源の影響なし・セルフシャドウなし
texを元のまま表示するので発光表現に使える。
Unlit/TransparentUnlit__Transparent光源の影響なし・透過・セルフシャドウなし
Diffuse
*Unity5版では使用不可
Diffuse
*Unity5版では使用不可
リアル調。
光源の影響を強く受ける。
Legacy Shaders/Diffuse
*上記のUnity5版
Legacy Shaders__Diffuse
*上記のUnity5版
リアル調。
(model側はDiffuseを指定)
Transparent/DiffuseTransparent__Diffuseリアル調・透過
CM3D2_Debug/Debug_CM3D2_Normal2ColorCM3D2_Debug__Debug_CM3D2_Normal2Color法線をグラデーション表示
・頭に「CM3D2」と付くのがゲームの独自シェーダー。「Unlit」はUnityのシェーダー。
 menuで直接シェーダー指定する場合、Unlitは使えない。

Texture

MainTex

メインテクスチャー名の指定。
Colorの設定値の変更はMainTexにだけ適用される。

テクスチャパス仕様は最近のアップデートで変更されたらしい。
旧バージョンテクスチャパスはファイル名のみ参照されていて、存在しないファイル名が入っているとエラーになる。
ファイル名が入っていなくても問題ないので、ファイル名は消しておくのが無難。
最新バージョン(COM 2.6以降?)パスのファイル名も全く参照されなくなったようで、何が入っていても問題なし。

ToonRamp トゥーンランプ

精密なモデルと正確な光源計算は処理が重く、エロゲ塗りやアニメ調の表現にも向かない為、ゲームでは
軽めの処理でリッチな質感を疑似的に表現するトゥーンシェーダーがよく用いられる。
これによりセルフシャドウ無しでもある程度の陰影や質感が表現できる(参考記事)


・CM3D2/COMでは光源とモデル法線(面の向き)の角度関係に基づき、指定した長方形のToonテクスチャが合成される。
 帯状Toonの右端が光源正面、左端が背面となる。
・乗算合成なのでToonの白色部分は変化なし(RGB各値で 〇〇×1=〇〇 という事)。
 Toonの黒色部分は黒色のまま(RGB各値で 〇〇×0=0 という事)。
・パーツの色に合ったToonを使うと馴染みやすい。自作Toonも指定可能。
・ToonRampが不要な場合は「noTex」を指定すればよい(真っ白のtoonなので変化しない)。

・原理的に単一方向の光源でないと成立しないので、光が放射状に広がるスポットライトやポイントライトでは無効になる。
・公式Toonの種類は本体アップデートで随時増えているので、定期的にチェックするのがよい。
・toon名は公式mate設定の表記では大文字と小文字が混在しているが、全て小文字でも問題なし。
・ToonRamp 一覧 (M,MM,MMMが付く物は金属質感)
toonBlackA1toonBlackM1toonBlackMM1toonBlueA1toonBluA2toonBrownA1toonGoldM1
toonGrayA1toonGrayM1toonGrayMM1toonGreenA1toonGreenA2toonGreenA3toonOrangeA1
toonPinkA1toonPinkA2toonPurpleA1toonPurpleM1toonPurpleMM1toonRedA1toonRedA2
toonRedM1toonRedMM1toonRedMMM1toonSilverA1toonYellowA1toonYellowA2toonYellowA3
toonFacetoonFace002toonSkintoonSkin002

 

ShadowTex

 メインテクスチャーの影になる部分のテクスチャー指定。
 公式ファイルでは*_shadow.texと末尾に付いている。
 MainTexを暗くした物が使われている。
 
 ShadowRateToonの影側の範囲に合成されるが、Toonシェーダーは平行光源が前提の為、
 スポットライトやポイントライト使用時は無効になる。

 
 ShadowTexは疑似的な陰影表現としてToonRampと役割が被り気味で、公式ShadowTexは色が暗すぎる物も多い為、
 あえてShadowTexは使わないという選択もアリ。その方法としては以下の2つ。

 ・ShadowTex指定にMainTexと同じ物を使う
 ・ShadowRateToon指定を「noTex」にする(真っ白のtoonなのでShadowTexが描画されない)

  mateのcolor変更はMainTex側にのみ有効なので、汎用性を考えると後者がオススメ。


テクスチャパス仕様はMainTexと同様に、最近のアップデートで変更されたらしい。
旧バージョンテクスチャパスはファイル名のみ参照されていて、存在しないファイル名が入っているとエラーになる。
ファイル名が入っていなくても問題ないので、ファイル名は消しておくのが無難。
最新バージョン(COM 2.6以降?)パスのファイル名も全く参照されなくなったようで、何が入っていても問題なし。

HiTex

 Hairシェーダー使用時の、髪のハイライト用テクスチャ。公式ファイルでは*_s.texと末尾に付いている。
 ShadowRateToonをマスク範囲として、光源側だけ表示される。
 これが無いと髪の影側に黒塗りが発生するので、不要な場合は透明のダミーを必ず用意する(8x8の透明texでOK)。

ShadowRateToon

 テクスチャの光源側(MainTex)と影側(ShadowTex)の合成範囲を決めるToon。
 リムライトや髪のハイライトも影側には描画されない。
 帯状Toonの右端が光源正面、左端が背面。Toonの白色がMainTexで黒色がShadowTex。グレーは比率に応じた合成。
 公式の物は境界がぼかしてあるが、境界がハッキリしたToonを自作して使う事も可能。
 
・ShadowRateToon 一覧 (M,MMが付く物は金属質感。noTexは影側なし(真っ白のテクスチャ)。)
noTextoonDress_shadowtoonDressm_shadowtoonDressmm_shadow
toonFace_shadowtoonSkin_shadow
・toon名は公式mate設定の表記では大文字と小文字が混在しているが、全て小文字でも問題なし

Color

Color

テクスチャ色の加算と減算を行う。半透明シェーダーの場合は透明度の設定も可能。

4値はRGBAの順に並んでいる。光の三原色R(レッド),G(グリーン),B(ブルー)と、
半透明シェーダーの場合はアルファチャンネル(透明度)が加わる。それぞれ256階調。

RGB各値の初期状態は1.0。 0.0〜1.0でテクスチャ色から減算、1.0を超えるとテクスチャ色から更に加算される。
・RGBは0,0,0が#000000(黒)、1,1,1が#FFFFFF(白)に対応。
・Alphaはマテリアルの値3,値4がTransシェーダー(半透明)の時に使用する。0.0がテクスチャの透明度0(透明)、1.0が100%(不透明)。
・半透明シェーダーは深度(奥行き)が無効で描画順が固定なので、同一のオブジェクト内で描画順が同じだと
 奥の面が手前に描画される事もあり得る。

・Color値の変化が適用されるのはMainTexだけ。ShadowTexには適用されないので
 極端にColorを変更すると影側の色が合わなくなる。
 その場合、MainとShadowの境界を決めるShadowRateToonを「noTex(真っ白のtoon)」に設定すれば、
 Shadow側は描画されないので誤魔化せる。

 

ShadowColor

 セルフシャドウ(物体の形状から発生する影)の色指定。R,G,B。
 ゲーム中の設定画面で影がONの状態で、体や衣装に落ちる影の色をマテリアル毎に指定できる。
 ちなみに透過マテリアル等、RQ値が2500以上の部分にはセルフシャドウが乗らない(影より後に描画される為)。

 彩度の高い服の場合に影が黒色(0,0,0)だと色が濁ってしまうので、服の色を暗くした色を
 影色に設定すると自然に見える。青色の影でよくあるイラスト風なんてのも可能。
 

 カスメ2時代の古いアイテムには影色の設定がおかしい物もあるので、流用改造する場合は注意。
 

RimColor

 立体感を出す為に輪郭部分に当てる光(リムライト)の色。R,G,B,A。
 設定した値がモデルの輪郭部分に加算される。0,0,0,1でリム光無効。

 ちなみにマイナス値だと減算表示されるので、白飛びしやすい部分に使うといいかも。
 ただしCM3D2コンバーターやACCExプラグインでは未対応なので、mateファイルに手動で入力する。

OutlineColor

 輪郭線の色。RGB alpha x,x,x,x e.g. 0.0.0.1で透過なしの黒色
"Outline Color", Color) = (0,0,0,1

Float

Shininess

範囲 最大:1 最小:-1
1に近いほどより反射する。0〜-1で黒く反射する

OutlineWidth

輪郭線の太さ 0で輪郭線無し
"Outline width", Range(0.0016,0.003)
アウトラインの原理
 輪郭線と言っているが、実際にはモデルを一回り大きくして反転させた物を輪郭線に見せかけている。
 法線方向に輪郭モデルの面を膨らませる値が「OutlineWidth」。ACCExプラグインで太さを極端に弄るとわかりやすい。
 特別な処理なしに輪郭を出せるので昔からゲームでよく使われる手法。「背面法」とも呼ばれる(参考解説)
 CM3D2/COMではアウトラインシェーダー指定時に自動で処理される。
 輪郭モデルにはToonRampとセルフシャドウが乗る。COMでは輪郭モデルにも専用テクスチャが貼れる。
欠点
 辺分離してある部分は輪郭モデルに隙間が出来てしまう。
 一回り大きい輪郭モデルの裏面を見せているので、本体モデルに埋まってしまい線が見えない場合もある。
 輪郭が見えるようにワザと隙間を開けたり、テクスチャに輪郭線を描いてしまうといった工夫も必要。

RimPower

リムライトの強さ。0〜100。0に近付くほど適用範囲外へ光が溢れる。100に近付くほど光が収束する。
"Rim Power", Range(0.1,30)


リムライトはカメラの向きに対して法線が直角の部分を輪郭(リム)と見なして、
そこを中心にRimColorを加算します。
ちなみにRimPowerがマイナス値の場合は、カメラに対して直角ではなく
正面が加算の中心になるので、硬質な表現に向いています。

RimShift

リムライトの適用範囲。0が最小、5が最大。

したらば改造スレ その8より
182 ツイッターなんかでも話題のRimShiftだけど、これをマイナスにするのはNG

続き


"Rim Shift", Range(0,1)


  • HiRate
("Hilight Rate", Range(0,1)) = 0
  • HiPOW
("Hilight Pow", Range(0.001,50)) = 0

_MultiColTex ("Multi Color Table (RGBA)", 2D) = "white" {}
[MaterialToggle] _UseMulticolTex ("Use MultiColor Tex", Float) = 0

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

CR Edit Syetem(KCES)

スクリプト

音声・動画

無料配布アイテム

FAQ



開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます

閉じる
試験運用中
現状は閲覧のみ。
編集機能の一般開放は未定。