Опис
Файли формату *.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 |