Формат файлов *.dm
Материал из S.T.A.L.K.E.R. Inside Wiki
Перед прочтением данной статьи, прочтите эту статью:
Бинарные файлы
Описание
Файлы формата *.dm (Detail Mesh) - это трёхмерные модели для эффектов погоды и для детальных объектов уровня.
К ним относятся капли дождя, вспышки молний (папка meshes\dm).
В файлах level.details в этом формате хранятся трава, листья, гайки, болты и т. д.
Структура файла
Данные |
---|
имя шейдера |
имя текстуры |
флаги |
минимальный размер |
максимальный размер |
количество вершин |
количество индексов |
вершины |
индексы |
Описание структуры
Данные | Тип |
---|---|
имя шейдера | s |
Строка, которая указывает имя шейдера из файла shaders.xr
Пример: effects\lightning0x00
Данные | Тип |
---|---|
имя текстуры | s |
Строка, которая указывает путь и имя текстуры.
Пример: fx\fx_rainsplash10x00
Данные | Тип |
---|---|
флаги | I |
Это опции.
Используется в файле level.details.
Если 0x0, то меши растительности колыхаются от ветра (кусты), а если 0x1, то неподвижны (листья).
В LE эти опции находятся в Detail Objects > Detail List > No Waving
Данные | Тип |
---|---|
минимальный размер | f |
Минимальный размер модели.
Эти значения используются в файлах level.details
Данные | Тип |
---|---|
максимальный размер | f |
Максимальный размер модели.
Данные | Тип |
---|---|
количество вершин | I |
Количество вершин в меше.
Данные | Тип |
---|---|
количество индексов | I |
Количество индексов по которым строятся треугольники.
Вершины
Вершины хранятся последовательно.
Структура одной вершины:
Данные | Тип |
---|---|
3D координата x | f |
3D координата y | f |
3D координата z | f |
текстурная координата u | f |
текстурная координата v | f |
На вершины накладываются ограничения:
1. Одна вершина может иметь только одну текстурную координату.
При сохранении модели в *.dm, вершина, имеющая две (и более) текстурных координат, преобразуются в две (и более) вершины.
2. Их количество должно быть не больше 65536, так как их индексы в треугольниках хранятся в 2 байтах
Индексы
Индексы вершин по которым образуются треугольники.
Индексы хранятся последовательно.
Структура индекса:
Данные | Тип |
---|---|
индекс вершины | H |
Ссылки
Утилиты так или иначе связанные с импортом\экспортом dm:
- Blender X-Ray Engine Tools от igelbox
- Blender Stalker Dm Err (Addon для Blender) от Pavel_Blend