Level.details — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Pavel (обсуждение | вклад) |
Pavel (обсуждение | вклад) (→Блок 0x2 (слоты/таблица ячеек)) |
||
Строка 96: | Строка 96: | ||
!Размер (в битах)||Описание | !Размер (в битах)||Описание | ||
|- | |- | ||
− | |12|| | + | |12||Координата нижней границы слота по оси Y (это значение нужно умножить на 0.2 метра) |
|- | |- | ||
− | |8|| | + | |8||Высота слота (это значение нужно умножить на 0.1 метра) |
|- | |- | ||
|6||Идентификатор первого меша растительности | |6||Идентификатор первого меша растительности | ||
Строка 156: | Строка 156: | ||
Нижняя граница равна -200 метров. | Нижняя граница равна -200 метров. | ||
− | А допустимый диапазон: от -200 метров до | + | А допустимый диапазон: от -200 метров до 619 метров (0.2 * 4095 - 200). |
− | + | Максимальная высота слота (параллелепипеда) равна: 25.5 (0.1 * 255). | |
+ | |||
+ | Верхняя граница слота равна: нижняя граница + высота слота. | ||
==Ссылки== | ==Ссылки== |
Версия 13:28, 7 января 2017
Перед прочтением данной статьи, прочтите эту статью:
Бинарные файлы
Содержание
Общее описание файла
Содержит информацию о детальных объектах (трава, гайки и сухие листья).
Состоит из трёх RIFF-секций (блоков):
Идентификатор блока | Размер (в байтах) | Описание |
---|---|---|
0x0 | 24 | заголовок |
0x1 | - | модели объектов (в формате .dm) |
0x2 | - | таблица ячеек 2x2 метра, задающяя плотность и видовое разнообразие объектов на карте |
Одна ячейка (слот) представляет из себя параллелепипед.
Габариты всех ячеек по осям X и Z одинаковы и равны 2 метра.
Высота слота (габариты параллелепипеда по оси Y) у всех слотов индивидуальна.
Версии формата
2 - билды 1096-1558
3 - от билда 1569 до "Зова Припяти"
Версия 3 отличается от 2 тем, как хранится таблица ячеек растительности.
В 3 версии они сохраняются в более компактном виде из-за чего размер файла level.details меньше.
Коэфициенты освещения в версии 3: тени от солнца, hemi, свет (Light в Level Editor).
А в версии 2 коэффициент освещения общий (нет разделения на тени, hemi, свет).
Блоки 0x0, 0x1 одинаковы в обеих версиях, но порядок расположения в файле у них разный.
Очерёдность блоков в версии 3: 0x1, 0x2, 0x0
Очерёдность блоков в версии 2: 0x0, 0x1, 0x2
Блоки
Блок 0x0 (заголовок)
Тип | Описание |
---|---|
I | версия формата |
I | количество dm моделей в файле |
i | смещение ячеек таблицы по оси X |
i | смещение ячеек таблицы по оси Z |
I | количество ячеек таблицы по оси X |
I | количество ячеек таблицы по оси Z |
Блок 0x1 (меши)
Блок состоит из вложенных блоков.
Идентификатор вложенного блока является индексом меша детального объекта.
Данные вложенных блоков - это меш в формате dm.
Описание формата dm:
Формат файлов *.dm
Блок 0x2 (слоты/таблица ячеек)
Версия 3
Блок хранит ячейки (слоты).
Слоты в этом блоке записаны поочерёдно.
К каждому слоту может быть привязано до четырёх мешей детальных объектов.
Индекс меша детального объекта может быть в пределах [0 .. 62] (63 - это отсутствие меша).
Данные одного слота хранятся в 16 байтах (128 битах), которые хранят в себе следующее:
Размер (в битах) | Описание |
---|---|
12 | Координата нижней границы слота по оси Y (это значение нужно умножить на 0.2 метра) |
8 | Высота слота (это значение нужно умножить на 0.1 метра) |
6 | Идентификатор первого меша растительности |
6 | Идентификатор второго меша растительности |
6 | Идентификатор третьего меша растительности |
6 | Идентификатор четвёртого меша растительности |
4 | Тень от солнца |
4 | Hemi освещение |
4 | Красная составляющая статических источников света |
4 | Зелёная составляющая статических источников света |
4 | Синяя составляющая статических источников света |
4 | Плотность первого меша (?) |
4 | Плотность первого меша (?) |
4 | Плотность первого меша (?) |
4 | Плотность первого меша (?) |
4 | Плотность второго меша (?) |
4 | Плотность второго меша (?) |
4 | Плотность второго меша (?) |
4 | Плотность второго меша (?) |
4 | Плотность третьего меша (?) |
4 | Плотность третьего меша (?) |
4 | Плотность третьего меша (?) |
4 | Плотность третьего меша (?) |
4 | Плотность четвёртого меша (?) |
4 | Плотность четвёртого меша (?) |
4 | Плотность четвёртого меша (?) |
4 | Плотность четвёртого меша (?) |
На позицию слотов по оси Y накладываются ограничения.
Нижняя граница равна -200 метров.
А допустимый диапазон: от -200 метров до 619 метров (0.2 * 4095 - 200).
Максимальная высота слота (параллелепипеда) равна: 25.5 (0.1 * 255).
Верхняя граница слота равна: нижняя граница + высота слота.
Ссылки
Утилиты так или иначе связанные с импортом\экспортом details:
- Blender X-Ray Engine Tools от igelbox