マテリアル設定ファイル


modify_tmdのオプション-m|--material-configで指定するファイルです
モデルの状態毎にどのパーツを表示し、どのテクスチャを使用するか等を設定します

指定が複雑なのでmodify_tmdのオプション-M|--export-material-configで各モデルの
設定内容を出力してどのように設定されているか見てみてください

1行は最大4095バイト
各項目は1つ以上の半角空白およびタブで区切る
#および;以降はコメントです



■用語説明

	設定項目の説明で使用する用語の説明

	可視セットID

		ネプテューヌUではいくつかのパーツをセットにして表示する／しないを切り替えています
		そのセットを指定する値です

		モデルのどの部分がどの可視セットに含まれるかはモデルデータ内で指定しています
		tmdファイルをblenderにインポートしたときのオブジェクト名の_vis?_部分の番号で
		そのパーツの属する可視セットIDがわかります

	ファイル番号

		テクスチャの格納されたgxtファイル内での順番(0からの連番)
		extract_gxtで展開したときのファイル名の拡張子前に付く番号と同じ

		例) ネプテューヌUのネプテューヌのデフォルトコスチューム(n00c00)の場合
			0 = コントローラー(ヘアアクセサリー)
			1 = 通常状態(Normal)の衣装
			2 = 肌
			3 = コスチュームブレイク時に飛び散る破片用
			4 = 少し破れた状態(Damaged)の衣装
			5 = びりびりに破れた状態(Torn)の衣装



■設定項目

	num_conditions  状態数

		状態数 = 0～3

		ネプテューヌUでの衣装の状態数を指定します
		プログラムで衣装の種類により状態数上限が固定されている模様

		0 : コスチュームブレイクに関する設定を変更しない
		    ブラン+ネプテューヌVSゾンビ軍団の場合も0にします
		1 : 水着     通常状態(Normal)のみ
		2 : 女神化時 通常状態(Normal), びりびりに破れた状態(Torn)
		3 : 通常衣装 通常状態(Normal), 少し破れた状態(Damaged), びりびりに破れた状態(Torn)

		scrap_file_no, visible_set, texture_setより前にnum_conditionsを記述します



	scrap_file_no  ファイル番号

		コスチュームブレイク時に飛び散る破片のテクスチャファイル番号を指定する

		<注意> num_conditionsの設定がないまたは状態数が0のときはscrap_file_noの設定は使用されません



	visible_set  可視セットID0  [可視セットID1  [可視セットID2  [可視セットID3  [可視セットID4  [可視セットID5  [可視セットID6]]]]]]

		可視セットID0～6 = 0～20

		可視セットIDを1つ以上、最大7つまで列挙する

		visible_setの記述順に通常状態(Normal), 少し破れた状態(Damaged), びりびりに破れた状態(Torn)
		の設定になります

		visible_set毎に指定数が違っていてもよい
		num_conditionsで指定した状態数とvisible_set行数が一致しない場合はエラー



	texture_set  ファイル番号0  [ファイル番号1  [ファイル番号2  [ファイル番号3  [ファイル番号4  [ファイル番号5  [ファイル番号6]]]]]]

		ファイル番号0～6 = 0～255

		ファイル番号を1つ以上、最大7つまで列挙する

		実際に使用できるテクスチャファイル数はあまり多くありません
		テクスチャファイル数を増やしすぎるとゲームが落ちます

		texture_setの記述順に通常状態(Normal), 少し破れた状態(Damaged), びりびりに破れた状態(Torn)
		の設定になります

		全てのtexture_setで同じ数だけファイル番号を指定します
		ファイル番号の数がnum_textures(後述)で指定したテクスチャ数と一致しない場合はエラー
		num_conditionsで指定した状態数とtexture_set行数が一致しない場合はエラー



	num_textures  テクスチャ数

		テクスチャ数 = 1～7

		テクスチャ数を指定する
		textureより前にnum_texturesを設定します


	texture  テクスチャID  シグネチャ  幅  高さ

		テクスチャID = 0～6
		               texture_set項目のファイル番号0～6のどれに対応するかを指定する？
		シグネチャ   = 32ビット整数値
		幅           = テクスチャ画像の幅をピクセル数で指定する
		高さ         = テクスチャ画像の高さをピクセル数で指定する

		この情報は実際には使用されていないと思われる
		num_texturesで指定したテクスチャ数とtexture行数が一致しない場合はエラー



	num_materials  マテリアル数

		マテリアル数 = 続くmaterial_start～material_endの定義数



	material_start

		マテリアル設定を開始する
		material_endまでが１つのマテリアルのパラメータ設定

		パラメータはほとんどが用途不明です
		後述のunknown_00からunknown_4Cまでの項目はmaterial_startとmaterial_endの間に
		ないとエラーになります

		以下の項目はモデルにより違う値が設定されています
		tex_slot_id, unknown_18, unknown_sig, unknown_94, unknown_98, unknown_sig2,
		edge_color, unknown_C0, unknown_C4
		他の項目はどれも同じ値になっているようです



	unknown_00  整数値

		用途不明のパラメータ
		デフォルト値 = 5



	unknown_04  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	texture_id  テクスチャID

		テクスチャID = 0～6

		このマテリアルがどのテクスチャを使用するかを指定する
		texture_set項目のファイル番号0～6に対応

		datファイルが無い(ブラン+ネプテューヌVSゾンビ軍団)場合はテクスチャIDがファイル番号になる



	unknown_0C  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_10  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_14  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_18  整数値

		用途不明のパラメータ
		デフォルト値 = 0

		ブラン+ネプテューヌVSゾンビ軍団のタムソフトは0xFE020000
		それ以外は0



	unknown_1C  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_20  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_24  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_28  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_2C  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_30  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_34  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_38  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_3C  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_40  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_44  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_48  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_4C  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_50  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_54  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_58  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_5C  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_60  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_64  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_68  整数値

		用途不明のパラメータ
		デフォルト値 = -1



	unknown_6C  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_70  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_74  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_78  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	texture_sig  シグネチャ

		シグネチャ = 32ビット整数値
		対応するtextureのシグネチャと同じ値

		texture行の設定と一致しない場合はtexture行で指定された値を使用します
		なのでこの項目は実際には設定不要です



	unknown_80  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_84  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_88  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_8C  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_sig	シグネチャ

		シグネチャ = 32ビット整数値
		デフォルト値 = 0

		マテリアル識別用のシグネチャ？
		実際には使用されていないと思われる



	unknown_94  小数点数値

		用途不明のパラメータ
		デフォルト値 = 0.5



	unknown_98  小数点数値

		用途不明のパラメータ
		デフォルト値 = 0.0



	unknown_9C  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_A0  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_A4  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_A8  整数値

		用途不明のパラメータ
		デフォルト値 = 0



	unknown_AC  小数点数値

		用途不明のパラメータ
		デフォルト値 = 1.0



	unknown_sig2  シグネチャ

		シグネチャ = RIM0 または RIM1
		デフォルト値 = RIM0

		RIM0 : テクスチャに透明部分なし
		RIM1 : テクスチャに透明部分あり(破損パーツ用)



	edge_color  赤  緑  青

		赤 = 0.0～1.0
		緑 = 0.0～1.0
		青 = 0.0～1.0
		デフォルト値 赤 = 0.623
		             緑 = 0.507
		             青 = 0.456

		輪郭の色を指定する
		モデル部分にも少し色がつきます



	unknown_C0  小数点数値

		用途不明のパラメータ
		デフォルト値 = 20.0



	unknown_C4  小数点数値

		用途不明のパラメータ
		デフォルト値 = 4.0



	material_end

		マテリアル設定の終了



	end

		ファイルの読み込みを終了する
		"end"より後の行は無視されます



■その他

	modify_tmdでtmdファイルからマテリアル設定ファイルを作成するには以下のように実行します

		modify_tmd  TMDファイル  -M  出力マテリアル設定ファイル

	material_start～material_endには以下の項目のみ出力します

		texture_id, unknown_18, unknown_sig, unknown_94, unknown_98,
		unknown_sig2, edge_color, unknown_C0, unknown_C4

	すべてのマテリアルパラメータを出力する場合はオプション-Maをつけて

		modify_tmd  TMDファイル  -M  出力マテリアル設定ファイル  -Ma

	のようにします



■おわり
