u32 shape_type Shapeのタイプを指定します。現在下記のフラグが定義されています。 SHAPE_TYPE_CLEAR 0x00000000 SHAPE_TYPE_AA 0x00000001 SHAPE_TYPE_RA 0x00000002 SHAPE_TYPE_ZB 0x00000004 SHAPE_TYPE_CULL_BACK 0x00000010 SHAPE_TYPE_CULL_FRONT 0x00000020 SHAPE_TYPE_CULL_BOTH 0x00000030SHAPE_TYPE_CLEARはシェープタイプをクリアします。SHAPE_TYPE_AAはアンチエイリアス処理を行います。
SHAPE_TYPE_RAはレデュースドエイリアス処理を行います。
SHAPE_TYPE_ZBはz-buffer処理を行います。
SHAPE_TYPE_CULL_BACKはバックフェイスカリングを行います。
SHAPE_TYPE_CULL_FRONTはフロントフェイスカリングを行います。
SHAPE_TYPE_CULL_BOTHは常にカリングを行います。
SHAPE_TYPE_AA、SHAPE_TYPE_RAフラグは両方同時に指定することはできません。また、SHAPE_TYPE_CULL_*フラグもいずれか一つを指定することになります。
たとえば、アンチエイリアス、z-buffer処理をし、バックフェイスカリングを行ったシェープデータの場合、下記のようにフラグをセットします。
SHAPE_TYPE_AA | SHAPE_TYPE_ZB | SHAPE_TYPE_CULL_BACKNIFF2.0から下記のフラグが追加されました。SHAPE_TYPE_USE_VTX_ALPHA_FOR_FOG 0x00000100このフラグはFogを使用する場合に頂点アルファを使用する時にセットしてください。 通常Fogを使用する場合はNIFF→N64コンバータで頂点アルファを出力しません。このフラグをセットするとFogを使用する場合でも強制的に頂点アルファを出力します。u32 kind_of_node_for_geometry NIFF2.0からshape_tri_linkでリンクできるノードはTriGroupノード、 Envelopeノード、ClusterShapeノードの3種類になります。 このデータに下記のタグのうちのいずれかを設定することで、shape_tri_linkは該当するリスト中の インデックス番号を示します。
TAG_TRI_GROUP 0x00080100 TAG_ENVELOPE 0x00220100 TAG_CLUSTER_SHAPE 0x00280100TAG_TRI_GROUPの場合、shape_tri_linkはTriGroupのインデックス番号を記述します。TAG_ENVELOPEの場合、shape_tri_linkはEnvelopeのインデックス番号を記述します。
TAG_CLUSTER_SHAPEの場合、shape_tri_linkはClusterShapeのインデックス番号を記述します。
u32 external_mat_file_name_index Matノードを外部ファイル参照する場合、そのファイル名をExternalNameListのインデックス番号で記述します。 ファイル名はディレクトリ名などを含まない形で記述してください。
その場合、shape_mat_link = 0xffffffffを指定してください。
外部ファイル参照しない場合は0xffffffffを記述してください。
u32 external_mat_name_index Matノードを外部ファイル参照する場合、Mat名をExternalNameList内のインデックス番号で記述します。 その場合、shape_mat_link = 0xffffffffを指定してください。
外部ファイル参照しない場合は0xffffffffを記述してください。