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