For the complete documentation index, see llms.txt. This page is also available as Markdown.

Контейнеры бинарных файлов (.mesh, .cmesh, .animation)

Форматы .mesh, .cmesh и .animation представляют собой контейнеры, предназначенные для хранения нескольких файлов одного типа в одном бинарном файле. Основное назначение контейнеров состоит в уменьшении количества отдельных файлов в файловой системе и ускорении загрузки ресурсов.

Данные внутри контейнера организованы в виде последовательности chunk-ов. Каждый chunk начинается с четырёхсимвольного идентификатора (FourCC, Chunk ID), который определяет тип содержащихся в нём данных.

Контейнер содержит таблицу файлов, в которой для каждого файла хранятся его имя и смещение data_offset.

Размер каждого файла внутри контейнера, кроме последнего, определяется по формуле:

data_size = entries[N + 1].data_offset - entries[N].data_offset

Для последнего файла в контейнере его конец совпадает с концом контейнера.

При чтении файла парсер последовательно обрабатывает chunk-ы, определяя их тип по значению FourCC.

Структура данных

PMSH | ANIM | CMHR
MTBL
    entry_count
    entries[entry_count]
        entry_name
        data_offset
    resources[entry_count]
        MESH | EANM | EVLM
            resource_data

Идентификаторы контейнера

FourCC
Тип
Описание

PMSH

uint8[4]

Контейнер мешей. Содержит ресурсы формата .ply.

ANIM

uint8[4]

Контейнер анимаций. Содержит ресурсы формата .anm.

CMHR

uint8[4]

Контейнер волюмов физики и коллизий. Содержит ресурсы формата .vol.

Чанк MTBL

Содержит список всех файлов, расположенных внутри контейнера, а также смещения до соответствующих данных.

Название
Тип
Размер
Описание

FourCC

uint8[4]

4

MTBL

entry_count

uint32

4

Количество записей в таблице

entries

struct[entry_count]

Массив записей контейнера

Массив записей контейнера (struct)

Название
Тип
Размер
Описание

entry_name

string8

1+

Имя записи

data_offset

uint32

4

Смещение данных ресурса относительно конца таблицы MTBL

Чанк MESH

Содержит данные в формате .ply.

Название
Тип
Описание

FourCC

uint8[4]

MESH

ply_data

.ply

Данные меша в формате .ply.

Чанк EANM

Содержит данные в формате .anm.

Название
Тип
Описание

FourCC

uint8[4]

EANM

anm_data

.anm

Данные анимации в формате .anm.

Чанк EVLM

Содержит данные в формате .vol.

Название
Тип
Описание

FourCC

uint8[4]

EVLM

vol_data

.vol

Данные волюма в формате .vol.

Связанные бинарные форматы

Cover

Меш модели

Cover

Анимации модели

Cover

Волюмы модели

Вся информация о бинарных файлах

Последнее обновление