Формат файлов *.dm — S.T.A.L.K.E.R. Inside Wiki

Формат файлов *.dm

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Описание

Файлы формата dm (Detail Mesh) - это трёхмерные модели для эффектов погоды. К ним относятся капли дождя и вспышки молний. Находятся в meshes\dm\. Так же в файлах level.details в этом формате хранятся меши растительности. Этот формат наиболее простой среди остальных форматов 3д моделей сталкера.


Структура файла

Данные
имя шейдера
имя текстуры
флаги
минимальный размер
максимальный размер
количество вершин
количество индексов
вершины
индексы

Описание структуры

В таблицах размер указан в байтах.

Данные Размер Тип
имя шейдера длина строки + 1 строка

строка, которая в конце имеет нулевой байт (0x00). Этот байт является разделителем. То есть говорит о том, что данная строка закончилась. Пример: effects\lightning0x00

Данные Размер Тип
имя текстуры длина строки + 1 строка

аналогично имени шейдера

Данные Размер Тип
флаги 4 ?

После шейдера и текстуры находятся четыре байта. Это опции. Используется в файле level.details. Если 0x0, то меши растительности колыхаются от ветра (кусты), а если 0x1, то неподвижны (листья). В LE эти опции находятся в Detail Objects > Detail List > No Waving

Данные Размер Тип
минимальный размер 4 дробное

минимальный размер модели. Эти значения используются в файлах level.details

Данные Размер Тип
максимальный размер 4 дробное

максимальный размер модели.

Данные Размер Тип
количество вершин 4 целое

количество вершин в меше

Данные Размер Тип
количество индексов 4 целое

количество индексов по которым строятся треугольники

Данные Размер Тип
вершины:
... ... ...
3д координата x 4 дробное
3д координата y 4 дробное
3д координата z 4 дробное
текстурная координата x 4 дробное
текстурная координата y 4 дробное
... ... ...

Одна вершина хранится в 20 байтах. Эта структура повторяется для всех вершин. Поэтому суммарный размер вершин = (20*количество вершин)

Данные Размер Тип
индексы:
... ... ...
индекс вершины 2 целое
... ... ...

Индексы вершин по которым образуются треугольники. Суммарный размер индексов равен 2*количество индексов.

Ссылки

Утилиты так или иначе связанные с импортом\экспортом dm:

Участник: Pavel

Другие места
LANGUAGE