pmatファイル(pryority materialの略)は、各マテリアルの描画優先度(RQ:RenderQueueの略称)を
指定するための設定ファイル(Unity上のMaterial.renderQueue値に対応)。
透過シェーダーを使う場合、他の表示アイテムとの関係から適切に描画優先度を設定する必要がある。
また、pmatファイルを自作する場合、
/GameData/prioritymaterial.arc
に同梱させるか、Sybarisを導入して、
/Sybaris/GameData/
以下に配置する必要がある。/MOD/以下に配置しても読み込まれない。
(COM3D2の場合「COM3D2.ModLoader」か「COM3D2.ModPmatLoader」プラグインを導入すればMODフォルダ内でも読み込み可能。)
・補足
半透明の物体は重なりを何度も描画すると処理が重くなる為、深度(奥行き)は無視して、
固定のRQ値の順に1度だけ描画されます。その為、見る位置によっては前後関係がおかしくなります。
被写界深度でのボカシ結果もRQ値が影響するので注意。
指定するための設定ファイル(Unity上のMaterial.renderQueue値に対応)。
透過シェーダーを使う場合、他の表示アイテムとの関係から適切に描画優先度を設定する必要がある。
また、pmatファイルを自作する場合、
/GameData/prioritymaterial.arc
に同梱させるか、Sybarisを導入して、
/Sybaris/GameData/
以下に配置する必要がある。/MOD/以下に配置しても読み込まれない。
(COM3D2の場合「COM3D2.ModLoader」か「COM3D2.ModPmatLoader」プラグインを導入すればMODフォルダ内でも読み込み可能。)
・補足
半透明の物体は重なりを何度も描画すると処理が重くなる為、深度(奥行き)は無視して、
固定のRQ値の順に1度だけ描画されます。その為、見る位置によっては前後関係がおかしくなります。
被写界深度でのボカシ結果もRQ値が影響するので注意。
・公式pmatを適当に1つ取り出してリネームした物を、
『[CM3D2]適当ツールまとめ』の『[CM3D2]pmat編集』で改変します。
改変するpmatファイルを[CM3D2]pmat編集.exeにドラッグ&ドロップで起動。
・ゲーム本体のpmatファイルはGamedataフォルダ内「prioritymaterial.arc」に
まとめて入っているので、事前に展開しておくと便利。
『[CM3D2]適当ツールまとめ』の『[CM3D2]pmat編集』で改変します。
改変するpmatファイルを[CM3D2]pmat編集.exeにドラッグ&ドロップで起動。
・ゲーム本体のpmatファイルはGamedataフォルダ内「prioritymaterial.arc」に
まとめて入っているので、事前に展開しておくと便利。
項目 | 説明 |
---|---|
ファイルバージョン | 1000 (変更不要) |
名前のハッシュ | 基本的に↓のマテリアル名から自動生成される値。pmatのファイル名には依存しないので注意 |
マテリアル名 | modelファイルのマテリアル名か、mateファイルの値2に対応する文字列 |
優先度 | 表示優先度。大きい値が優先 範囲(0〜5000)? |
シェーダー | この値は使われていない。記述したシェーダ以外のマテリアルへも反映可能 |
各マテリアルのpmat参照順
(大文字と小文字でハッシュ値が異なる為と思われる)
- mateファイルの値2に一致するpmat(ハッシュ値の一致)があればその値を使用
- 該当するものがなければ、modelファイルのマテリアル名に一致するpmatを使用
- そこでも見つからなければ、RQ=2000となる(透過シェーダの場合は、RQ=3000)
(大文字と小文字でハッシュ値が異なる為と思われる)
pmatファイルは自作しなくても、既存のマテリアル名を指定することでその表示優先度を設定可能。
下記に、各カテゴリの優先度とそのマテリアル名(代表のみ)を示す。
pmatファイルを自作する場合は、以下の値を基準に作ると良い。
それぞれ基準となる優先度に+1, +2程度を大きくし、表示順を優先させていると思われる。
(通常の衣装以外のアイテム含む)
- 設定値例1 (カテゴリごとの設定基準)
下記に、各カテゴリの優先度とそのマテリアル名(代表のみ)を示す。
pmatファイルを自作する場合は、以下の値を基準に作ると良い。
- 設定値例2
それぞれ基準となる優先度に+1, +2程度を大きくし、表示順を優先させていると思われる。
(通常の衣装以外のアイテム含む)
・専用pmatファイルが存在しない場合は、シェーダー毎のデフォルトRQ値が適用される。
・全シェーダー、RQ値2500以下で深度(奥行き座標)が有効。2501以上で深度が無効になる。
・RQ値2500以下の物体にはセルフシャドウが乗る。2501以上だとセルフシャドウより後に描画されるので、セルフシャドウが乗らない。
Outlineの輪郭メッシュにはセルフシャドウと、ShadowRateToonによる影が乗る。
眉の半透明メッシュは、COMの透け眉仕様の関係でCOM初期フェイスでは影が乗り、GPフェイス以降は影が乗らない(RQ値が違う)。
・バグ的な挙動で、半透明シェーダーはRQ値2000の場合にメッシュが描画されずShininessの光沢だけが描画される。
ただしスポットライトとポイントライト使用時はメッシュが加算描画されてしまうので、ガラス表現には使いにくい。
シェーダー種別 | RQ値 |
---|---|
不透明シェーダー | 2000 |
Trans(透明度256階調) | 3000 |
Cutout(不透明と透明の2階調) | 2450 |
セルフシャドウ(物体が発生させる影) | 2500 |
man(ご主人様やNPC男) | 3990 |
・RQ値2500以下の物体にはセルフシャドウが乗る。2501以上だとセルフシャドウより後に描画されるので、セルフシャドウが乗らない。
Outlineの輪郭メッシュにはセルフシャドウと、ShadowRateToonによる影が乗る。
眉の半透明メッシュは、COMの透け眉仕様の関係でCOM初期フェイスでは影が乗り、GPフェイス以降は影が乗らない(RQ値が違う)。
・バグ的な挙動で、半透明シェーダーはRQ値2000の場合にメッシュが描画されずShininessの光沢だけが描画される。
ただしスポットライトとポイントライト使用時はメッシュが加算描画されてしまうので、ガラス表現には使いにくい。
コメントをかく