Формат файлов *.dm — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Формат файлов *.dm — различия между версиями

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

Перейти к: навигация, поиск
(Ссылки)
Строка 1: Строка 1:
 +
Перед прочтением данной статьи, прочтите эту статью: <br>[[Бинарные файлы]]
 +
 
== Описание ==
 
== Описание ==
Файлы формата dm (Detail Mesh) - это трёхмерные модели для эффектов погоды.
+
Файлы формата *.dm (Detail Mesh) - это трёхмерные модели для эффектов погоды и для детальных объектов уровня.
К ним относятся капли дождя и вспышки молний. Находятся в meshes\dm\. Так же в файлах level.details в этом формате хранятся меши растительности.
+
 
Этот формат наиболее простой среди остальных форматов 3д моделей сталкера.
+
К ним относятся капли дождя, вспышки молний (папка meshes\dm).
  
 +
В файлах level.details в этом формате хранятся трава, листья, гайки, болты и т. д.
  
 
== Структура файла ==
 
== Структура файла ==
Строка 30: Строка 33:
  
 
== Описание структуры ==
 
== Описание структуры ==
 
В таблицах размер указан в байтах.
 
  
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|имя шейдера||длина строки + 1||строка
+
|имя шейдера||s
 
|}
 
|}
строка, которая в конце имеет нулевой байт (0x00). Этот байт является разделителем.
+
Строка, которая указывает имя шейдера из файла shaders.xr
То есть говорит о том, что данная строка закончилась. Пример: effects\lightning0x00
+
 
 +
Пример: effects\lightning0x00
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|имя текстуры||длина строки + 1||строка
+
|имя текстуры||s
 
|}
 
|}
аналогично имени шейдера
+
Строка, которая указывает путь и имя текстуры.
 +
 
 +
Пример: fx\fx_rainsplash10x00
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|флаги||4||?
+
|флаги||I
 
|}
 
|}
После шейдера и текстуры находятся четыре байта. Это опции. Используется в файле level.details. Если 0x0, то меши растительности колыхаются от ветра (кусты), а если 0x1, то неподвижны (листья). В LE эти опции находятся в Detail Objects > Detail List > No Waving
+
Это опции.
 +
 
 +
Используется в файле level.details.
 +
 
 +
Если 0x0, то меши растительности колыхаются от ветра (кусты), а если 0x1, то неподвижны (листья).
 +
 
 +
В LE эти опции находятся в Detail Objects > Detail List > No Waving
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|минимальный размер||4||дробное
+
|минимальный размер||f
 
|}
 
|}
минимальный размер модели. Эти значения используются в файлах level.details
+
Минимальный размер модели.
 +
 
 +
Эти значения используются в файлах level.details
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|максимальный размер||4||дробное
+
|максимальный размер||f
 
|}
 
|}
максимальный размер модели.
+
Максимальный размер модели.
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|количество вершин||4||целое
+
|количество вершин||I
 
|}
 
|}
количество вершин в меше
+
Количество вершин в меше.
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|количество индексов||4||целое
+
|количество индексов||I
 
|}
 
|}
количество индексов по которым строятся треугольники
+
Количество индексов по которым строятся треугольники.
 +
 
 +
=== Вершины ===
 +
 
 +
Вершины хранятся последовательно.
 +
 
 +
Структура одной вершины:
  
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
|-
+
|вершины:|| ||
+
 
|-
 
|-
|...||...||...
+
|3D координата x||f
 
|-
 
|-
|координата x||4||дробное
+
|3D координата y||f
 
|-
 
|-
|координата y||4||дробное
+
|3D координата z||f
 
|-
 
|-
|координата z||4||дробное
+
|текстурная координата u||f
 
|-
 
|-
|текстурная координата x||4||дробное
+
|текстурная координата v||f
 
|-
 
|-
|текстурная координата y||4||дробное
 
|-
 
|...||...||...
 
 
|}
 
|}
Одна вершина хранится в 20 байтах. Эта структура повторяется для всех вершин. Поэтому суммарный размер вершин = (20*количество вершин)
+
 
 +
=== Индексы ===
 +
Индексы вершин по которым образуются треугольники.
 +
 
 +
Индексы хранятся последовательно.
 +
 
 +
Структура индекса:
 +
 
 
{| class="standard"
 
{| class="standard"
 
|-
 
|-
!Данные||Размер||Тип
+
!Данные||Тип
 
|-
 
|-
|индексы:|| ||  
+
|индекс вершины||H
 
|-
 
|-
|...||...||...
 
|-
 
|индекс вершины||2||целое
 
|-
 
|...||...||...
 
 
 
|}
 
|}
Индексы вершин по которым образуются треугольники. Суммарный размер индексов равен 2*количество индексов.
 
  
 
== Ссылки ==
 
== Ссылки ==

Версия 17:19, 18 декабря 2016

Перед прочтением данной статьи, прочтите эту статью:
Бинарные файлы

Описание

Файлы формата *.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

Индексы

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

Индексы хранятся последовательно.

Структура индекса:

Данные Тип
индекс вершины H

Ссылки

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

Участник: Pavel

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