Level.details — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Level.details — различия между версиями

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

Перейти к: навигация, поиск
(Версии формата)
(Версии формата)
Строка 41: Строка 41:
 
А в версии 2 коэффициент освещения общий (нет разделения на тени, hemi, свет).
 
А в версии 2 коэффициент освещения общий (нет разделения на тени, hemi, свет).
  
Структура блоков 0x0, 0x1 одинакова в обеих версиях, но порядок расположения блоков в файле у них разный.
+
Структура блоков 0x0, 0x1 одинакова в обеих версиях.
 +
 
 +
Порядок расположения блоков в версии 2 и 3 разный.
  
 
Очерёдность блоков в версии 3: 0x1, 0x2, 0x0
 
Очерёдность блоков в версии 3: 0x1, 0x2, 0x0

Версия 13:34, 7 января 2017

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

Общее описание файла

Содержит информацию о детальных объектах (трава, гайки и сухие листья).

Состоит из трёх RIFF-секций (блоков):

Идентификатор блока Размер (в байтах) Описание
0x0 24 заголовок
0x1 - модели объектов (в формате .dm)
0x2 - таблица ячеек 2x2 метра, задающяя плотность и видовое разнообразие объектов на карте

Одна ячейка (слот) представляет из себя параллелепипед.

Габариты всех ячеек по осям X и Z одинаковы и равны 2 метра.

Высота слота (габариты параллелепипеда по оси Y) у всех слотов индивидуальна.

Так выглядит слот в Level Editor


Версии формата

2 - билды 1096-1558

3 - от билда 1569 до "Зова Припяти"

Версия 3 отличается от 2 тем, как хранится таблица ячеек растительности.

В 3 версии они сохраняются в более компактном виде из-за чего размер файла level.details меньше.

Коэффициенты освещения в версии 3: тени от солнца, hemi, свет (Light в Level Editor).

А в версии 2 коэффициент освещения общий (нет разделения на тени, hemi, свет).

Структура блоков 0x0, 0x1 одинакова в обеих версиях.

Порядок расположения блоков в версии 2 и 3 разный.

Очерёдность блоков в версии 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:

Участник: Pavel

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