通りすがりの記憶

ただのメモかも知れない

MMDのモデルデータ(PMD)形式 めも4 (材質リスト)

2009-06-06 22:40:22 | MMD
PMD形式めも
・材質リスト
DWORD material_count; // 材質数
t_material material[material_count]; // 材質データ(70Bytes/material)

・t_material
float diffuse_color[3]; // dr, dg, db // 減衰色
float alpha; // 減衰色の不透明度
float specularity;
float specular_color[3]; // sr, sg, sb // 光沢色
float mirror_color[3]; // mr, mg, mb // 環境色(ambient)
BYTE toon_index; // toon??.bmp // 0.bmp:0xFF, 1(01).bmp:0x00 ・・・ 10.bmp:0x09
BYTE edge_flag; // 輪郭、影
DWORD face_vert_count; // 面頂点数 // 面数ではありません。この材質で使う、面頂点リストのデータ数です。
char texture_file_name[20]; // テクスチャファイル名またはスフィアファイル名 // 20バイトぎりぎりまで使える(終端の0x00は無くても動く)


テクスチャファイル名またはスフィアファイル名の補足:

テクスチャファイルにスフィアファイルを乗算または加算する場合
(MMD 5.12以降)
"テクスチャ名.bmp*スフィア名.sph" で乗算
"テクスチャ名.bmp*スフィア名.spa" で加算

(MMD 5.11)
"テクスチャ名.bmp/スフィア名.sph" で乗算

(MMD 5.09あたり-)
"テクスチャ名.bmp" または "スフィア名.sph"




不透明度の補足:
(MMD 6.10以降)
0.98に設定した場合、その材質のセルフシャドウは無効になります。
(他の材質・モデルの影の影響は受けます)
セルフシャドウ無効化の設定値が0.99でないのは、0.99が擬似両面化(不透明度1だと片面しか見えないので)によく使われるためと思われます。

セルフシャドウとToon色の関係:
(MMD 6.10以降)
モデルの場合は、Toonの左下1ドットの色
アクセサリの場合は、emissiveColor(MMDの地面影色設定で調整可能)が
セルフシャドウの色として利用されます。

アクセサリのemissiveColor(自己発光色):MMDで照明のr,g,bを全て0にした時の色です。

参照:
【MMD】セルフシャドウ説明 (樋口Mによるセルフシャドウの説明です)

めも:
セルフシャドウのモード1:近距離から遠距離まで均等に綺麗な影
セルフシャドウのモード2:近距離ほど綺麗な影

モード1で、画面内の最も遠距離まで影が映るように距離を調整→
 近距離側の影が表示されなくなった場合→ モード2を使用します。

モード2でも、照明の向きとカメラの方向が同じ方向を向いてしまうと、
モード1相当の動作になってしまいます。



面頂点数の補足:
材質0から順番に、材質の面頂点数に設定した数ずつ、面頂点リストのデータを使うイメージです。



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。