Skip to content
aspadm edited this page Oct 11, 2018 · 2 revisions

English version

Формат: FIG

Описание

Трёхмерная модель

Структура

Файл начинается с "магического числа":

byte magic[3]; // FIG

Далее идёт указание на число хранимых блоков:

byte n;
n -= 48;

Под блоком подразумевается следущее: для каждой координаты хранится n значений (блоков), а итоговое значение получается их смешением в некой пропорции.
Например, персонаж в зависимости от параметров будет на 0.5 ловкой моделью, на 0.25 - сильной и на 0.25 - базовой.

Далее хранятся непосредственно данные модели:

uint vertex_count;
uint normal_count;
uint texcoord_count;
uint index_count;

uint vertex_component_count;
uint morph_component_count;

uint unknown; // всегда 0

uint group;

uint texture_number;

vec3 center[n];
vec3 min[n];
vec3 max[n];
float radius[n];
vec3 vertices[4 * n * vertex_count];
vec4 normals[4 * normal_count];
vec2 texcoords[texcoord_count];
ushort indices[index_count];
vertex_component vertex_components[vertex_component_count];
morph_component morph_components[morph_component_count];
Clone this wiki locally