Nintendo Confidential


15. EnvelopeList


(1) EnvelopeList

u32 envelope_list_tag EnvelopeListを示すタグを記述します。下記のタグを設定してください。

TAG_ENVELOPE_LIST       0x00220000

u32 envelope_list_header_size EnvelopeListHeaderのバイト数を記述します。
u32 envelope_list_size EnvelopeListのバイト数を記述します。
u32 envelope_num Envelope数を記述します。
u32 envelope_size Envelopeのバイト数を記述します。
Envelope Envelopeエリアです。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(2) Envelope

u32 envelope_tag Envelopeを示すタグを記述します。下記のタグを設定してください。

TAG_ENVELOPE            0x00220100

u32 this_envelope_index Envelopeのインデックス番号を記述します。
u32 envelope_size Envelopeのバイト数を記述します。
u32 envelope_name_index Envelope名をNameList内のインデックス番号で指定します。
u32 envelope_type 0x0
u32 full_weighted_part_num FullweightedPart数を記述します。
u32 weighted_part_num WeightedPart数を記述します。
u32 morph_part_num MorphPart数を記述します。
u32 envelope_tri_num EnvelopeTri数を記述します。
FullWeightedPart Envelope内でWeightがすべて100%の頂点の集合をFullWeightPartとします。
WeightedPart 通常のEnvelopeで表される頂点の集合をWeightedPartとします。
MorphPart Envelope内で一軸周りの回転にのみ影響を受ける頂点の集合をMorphPartとします。
EnvelopeTri Envelope内のいずれかのパートに属する頂点を使用した1ポリゴンを表します。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(3) FullWeightedPart

u32 full_weighted_part_tag FullWeightedPartを示すタグを記述します。下記のタグを指定してください。

TAG_FULL_WEIGHTED_PART  0x00220110

u32 this_full_weighted_part_index このEnvelope内でのFullWeightedPartのインデックス番号を記述します。
u32 full_weighted_part_size FullWeightedPartのバイト数を記述します。
u32 full_weighted_part_name_index このFullWeightedPart名をNameList内のインデックス番号で記述します。
u32 kind_of_transform_node_full パートが影響を受けるノードの種類を下記のタグで記述します。

TAG_OBJ_LIST            0x00020000
TAG_CHAIN_ROOT_LIST     0x00240000
TAG_JOINT_LIST          0x00250000
TAG_EFFECTOR_LIST       0x00260000

外部参照する場合は0xffffffffを記述してください。
u32 transform_node_index_full パートが影響を受けるノードのインデックス番号を記述します。

外部参照する場合は0xffffffffを記述してください。

u32 external_transform_obj_file_name_index FullWeightedPartが影響を受けるObjを外部ファイル参照する場合、そのファイル名をExternalNameListのインデックス番号で記述します。

ファイル名はディレクトリ名などを含まない形で記述してください。

外部参照しない場合は0xffffffffを記述してください。

u32 external_transform_obj_name_index FullWeightedPartが影響を受けるObjを外部ファイル参照する場合、そのObj名をExternalNameList内のインデックス番号で記述します。

外部参照しない場合は0xffffffffを記述してください。

u32 full_weighted_vtx_group_index このパート内の頂点座標を指定するVtxGroupのインデックス番号を記述します。
u32 full_weighted_vtx_nv_group_index このパート内の頂点の法線ベクトルを指定するVtxNvGroupのインデックス番号を記述します。
u32 full_weighted_tri_nv_group_index このパート内のポリゴンの法線ベクトルを指定するTriNvGroupのインデックス番号を記述します。
u32 full_weighted_vtx_color_group_index このパート内の頂点カラーを指定するVtxColorGroupのインデックス番号を記述します。
u32 full_weighted_tri_color_group_index このパート内のポリゴンのカラーを指定するTriNvGroupのインデックス番号を記述します。
u32 full_weighted_st_group_index このパート内の頂点のST値を指定するStGroupのインデックス番号を記述します。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(4) WeightedPart

u32 weighted_part_tag WeightedPartを示すタグを記述します。下記のタグを指定してください。

TAG_WEIGHTED_PART       0x00220120

u32 this_weighted_part_index このWeightedPartのインデックス番号を記述します。
u32 weighted_part_size WeightedPartのバイト数を記述します。
u32 weighted_part_name_index WeightedPart名をNameList内のインデックス番号で記述します。
u32 affected_node_num このPart内の頂点に影響を与えるノード数を記述します。
u32 weight_st_group_index このパートの頂点を示すStGroupのインデックス番号を記述します。
u32 external_affected_obj_num 外部ファイル参照するWeightedPartが影響を受けるObj数を記述します。
u32 kind_of_affected_node このPart内の頂点に影響を与えるノードの種類を下記のタグで記述します。

TAG_OBJ_LIST            0x00020000
TAG_CHAIN_ROOT_LIST     0x00240000
TAG_JOINT_LIST          0x00250000
TAG_EFFECTOR_LIST       0x00260000

u32 affected_node_index このPart内の頂点に影響を与えるノードのインデックス番号を記述します。
u32 external_affected_obj_file_name_index このWeightedPartが影響を受けるObjを外部ファイル参照する場合、そのファイル名をExternalNameListのインデックス番号で示します。

ファイル名はディレクトリ名などを含まない形で記述してください。

外部ファイル参照しない場合(external_affected_obj_num = 0)はこのフィールドは記述されません。

u32 external_affected_obj_name_index このWeitedPartが影響を受けるObjを外部ファイル参照する場合、そのObj名をExternalNameList内のインデックス番号で記述します。

外部ファイル参照しない場合(external_affected_obj_num = 0)はこのフィールドは記述されません。

u32 weight_group_index それぞれの頂点がノードから受ける影響のweight値を示すWeightGroupのインデックス番号を記述します。

なお、対応する頂点について各WeightGroup内でのインデックスが同じになるようにweight値を格納してください。

u32 weight_vtx_group_index このパートの頂点を示すVtxGroupのインデックス番号を記述します。

なお、対応する頂点について各VtxGroup内でのインデックスが同じになるようにvertex を格納してください。

u32 weight_vtx_nv_group_index このパートの頂点を示すVtxNvGroupのインデックス番号を記述します。

なお、対応する頂点について各VtxNvGroup内でのインデックスが同じになるようにvertex normalを格納してください。

u32 weight_tri_nv_group_index このパートの頂点を示すTriNvGroupのインデックス番号を記述します。

なお、対応するtriangleについて各TriNvGroup内でのインデックスが同じになるようにtriangle normalを格納してください。

u32 weight_vtx_color_group_index このパートの頂点を示すVtxColorGroupのインデックス番号を記述します。

なお、対応する頂点について各VtxColorGroup内でのインデックスが同じになるようにvertex colorを格納してください。

u32 weight_tri_color_group_index このパートの頂点を示すTriNvGroupのインデックス番号を記述します。

なお、対応するtriangleについて各TriColorGroup内でのインデックスが同じになるようにtriangle colorを格納してください。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(5) MorphPart

u32 morph_part_tag MorphPartを示すタグを記述します。下記のタグを指定してください。

TAG_MORPH_PART          0x00220130

u32 this_morph_part_index このMorphPartのインデックス番号を記述します。
u32 morph_part_size MorphPartのバイト数を記述します。
u32 morph_part_name_index MorphPart名をNameList内のインデックス番号で記述します。
u32 kind_of_node0
u32 kind_of_node1
このパートが影響を受けるノードの種類を下記のタグで記述します。

TAG_OBJ_LIST            0x00020000
TAG_JOINT_LIST          0x00250000

外部参照する場合は0xffffffffを記述してください。
u32 node_index0
u32 node_index1
このパートが影響を受けるノードのインデックス番号を記述します。

外部参照する場合は0xffffffffを記述してください。

u32 external_obj0_file_name_index
u32 external_obj1_file_name_index
このMorphPartが影響を受けるObjを外部ファイル参照する場合、そのファイル名をExternalNameListのインデックス番号で指定します。

ファイル名はディレクトリ名などを含まない形で記述してください。

外部ファイル参照しない場合は0xffffffffを指定してください。

u32 external_obj0_name_index
u32 external_obj1_name_index
このMorphPartが影響を受けているObjを外部ファイル参照する場合、そのObj名をExternalNameList内のインデックス番号で記述します。

外部ファイル参照しない場合は 0xffffffffを指定してください。

u32 morph_st_group_index このパートで指定するStGroupのインデックス番号をテーブルに応じて記述します。
u32 table_num このパートは2つのノードの間の角度を指定された数で分割して、それをテーブルとして頂点が影響を受けます。その分割数を記述します。9, 17, 33, 65のうちのいずれかを記述してください。
u32 morph_vtx_group_index このパートで指定するVtxGroupのインデックス番号をテーブルに応じて記述します。

なお、VtxGroup中の値はnode_index0で示されたノードに対する座標値です。

u32 morph_vtx_nv_group_index このパートで指定するVtxNvGroupのインデックス番号をテーブルに応じて記述します。

なお、VtxNvGroup中の値はnode_index0で示されたノードに対する法線ベクトルの値です。

u32 morph_tri_nv_group_index このパートで指定するTriNvGroupのインデックス番号をテーブルに応じて記述します。

なお、TriNvGroup中の値はnode_index0で示されたノードに対する法線ベクトルの値です。

u32 morph_vtx_color_group_index このパートで指定するVtxColorGroupのインデックス番号をテーブルに応じて記述します。
u32 morph_tri_color_group_index このパートで指定するTriColorGroupのインデックス番号をテーブルに応じて記述します。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(6) EnvelopeTri

u32 envelope_tri_tag EnvelopeTriを示すタグを記述します。下記のタグを設定してください。

TAG_ENVELOPE_TRI       0x00220180

u32 this_envelope_tri_index EnvelopeTriのインデックス番号を記述します。
u32 envelope_tri_size EnvelopeTriのバイト数を記述します。
u32 kind_of_envelope_for_tri tri_nv_index, tri_color_indexに使用されるエンベロープのパートの種類を下記のタグで記述します。

TAG_FULL_WEIGHTED_PART  0x00220110
TAG_WEIGHTED_PART       0x00220120
TAG_MORPH_PART          0x00220130

u32 envelope_part_index_for_tri tri_nv_index, tri_color_indexに使用されるエンベロープのパートのインデックス番号を記述します。
u32 tri_nv_index このtriangleの法線ベクトルのインデックス番号を記述します。

なお、CGツール上で四角形以上のpolygonを自動分割する場合、生成された各トライアングルに関して同じインデックスを示すようにデータを出力してください。

u32 tri_color_index このtriangleのカラーを指定します。

なお、CGツール上で四角形以上のpolygonを自動分割する場合、生成された各トライアングルに関して同じインデックスを示すようにデータを出力してください。

u32 weight_index_tri このtriangleがWeightedPartの時に、そのweight値を示すWeightGroup内のインデックス番号で記述します。

このtriangleがWeightedPartで無い場合は、0xffffffffを記述してください。

なお、CGツール上で四角形以上のpolygonを自動分割する場合、生成された各トライアングルに関して同じインデックスを示すようにデータを出力してください。

EnvelopeVtx EnvelopeVtxエリアです。このtriangleを構成するVtxを記述します。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index

(7) EnvelopeVtx

u32 kind_of_envelope_part この頂点のエンベロープの種類を下記のタグで記述します。

TAG_FULL_WEIGHTED_PART  0x00220110
TAG_WEIGHTED_PART       0x00220120
TAG_MORPH_PART          0x00220130

u32 envelope_part_index エンベロープパートのインデックス番号を記述します。

エンベロープパートとは、Envelope中で頂点のウェイトのかけ方によってパート分けされたFullWeightdPart、WeightedPart、MorphPartを示します。

u32 vtx_index 頂点のインデックス番号を記述します。
u32 st_index 頂点のST値のインデックス番号を記述します。
u32 vtx_nv_index 頂点の法線ベクトルのインデックス番号を記述します。

vtx_indexと同一になるように出力してください。

u32 vtx_color_index 頂点カラーのインデックス番号を記述します。

u32 weight_index この頂点がWeightedPartの時に、そのweight値を示すWeightGroup内のインデックス番号で記述します。

この頂点がWeightedPartで無い場合は、0xffffffffを記述してください。

Appendix ... about Envelope System

Go to the data chunk

Go back to the index


Copyright 1998,1999 NINTENDO Co.,Ltd. All rights reserved.
Copyright 1998,1999 MONEGI CORPORATION All rights reserved.