Skip to main content

DFM

Overview

Deformable (character) models.

NameTypeDescription
Fractionsfloat[]LOD fractions from range defined in INIs, amount of floats indices how many Mesh* entries are expected.

Face groups

NameTypeDescription
Material_namestringName of material to use for this group of mesh faces.
Tristrip_indicesuint16[]Vertex indices of triangles strip.
Face_indicesuint16[]Vertex indices of triangles array.
  • Material_name must point to material located in material library within same file.
  • A face group may use either Tristrip_indices for triangle strip or Face_indices for simple triangle array.

Geometry

NameTypeDescription
Point_indicesuint32[]Element indices for vertex coordinate points.
UV0_indicesuint32[]Element indices for UV0 coordinate points.
UV1_indicesuint32[]Element indices for UV1 coordiante points.
Pointsfloat[]float[3] per vertex.
Point_bone_firstuint32[]Start index in bone chains for vertex.
Point_bone_countuint32[]Number of bones affecting vertex.
Bone_id_chainuint32[]Array of bone indices (max 4) affecting vertex.
Bone_weight_chainfloat[]Array of bone weights (max 4) affecting vertex.
Vertex_normalsfloat[]float[3] per vertex.
UV0float[]float[2] per coordinate.
UV1float[]float[2] per coordinate.
Min_dufloatMinimum U delta.
Max_dufloatMaximum U delta.
Min_dvfloatMinimum V delta.
Max_dvfloatMaximum V delta.
Bone_X_to_U_scalefloatBone X position translation scales to Map 1 U.
Bone_Y_to_V_scalefloatBone Y position translation scales to Map 1 V.
UV_vertex_countuint32UV coordinate count.
UV_bone_iduint32[]Bone which affects selected vertices UV.
UV_vertex_iduint32[]Vertices affected by bone at UV_bone_id.
UV_default_listfloatDefault UV coordinates for vertices in UV_vertex_id?
UV_plane_distancefloatDefault 1?
  • Bone indices per vertex are: for (i = Point_bone_first[v], l = i + Point_bone_count[v]; i < l; i++) Bone_id_chain[i].
  • Bone weights per vertex are: for (i = Point_bone_first[v], l = i + Point_bone_count[v]; i < l; i++) Bone_weight_chain[i].