Формат файлов *.dm — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Pavel (обсуждение | вклад) |
Pavel (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
== Описание == | == Описание == | ||
| − | Файлы формата dm (Detail | + | Файлы формата dm (Detail Mesh) - это трёхмерные модели для эффектов погоды. |
К ним относятся капли дождя и вспышки молний. Находятся в meshes\dm\. Так же в файлах level.details в этом формате хранятся меши растительности. | К ним относятся капли дождя и вспышки молний. Находятся в meshes\dm\. Так же в файлах level.details в этом формате хранятся меши растительности. | ||
Этот формат наиболее простой среди остальных форматов 3д моделей сталкера. | Этот формат наиболее простой среди остальных форматов 3д моделей сталкера. | ||
| Строка 54: | Строка 54: | ||
|флаги||4||? | |флаги||4||? | ||
|} | |} | ||
| − | После шейдера и текстуры находятся четыре байта. Это опции. Используется в файле level.details. Если | + | После шейдера и текстуры находятся четыре байта. Это опции. Используется в файле level.details. Если 0x0, то меши растительности колыхаются от ветра (кусты), а если 0x1, то неподвижны (листья). В LE эти опции находятся в Detail Objects > Detail List > No Waving |
{| class="standard" | {| class="standard" | ||
|- | |- | ||
Версия 08:16, 8 октября 2014
Описание
Файлы формата 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*количество индексов.
Использованые материалы
xray_re-tools-src