Level.hom
Материал из S.T.A.L.K.E.R. Inside Wiki
Перед прочтением данной статьи, прочтите эту статью:
Бинарные файлы
Содержание
Описание
HOM - отсекатель геометрии.
Является мешем.
Нужен для увеличения производительности.
Создаётся данный файл при компиляции уровня (если в СДК были расставлены HOM объекты).
Сохраняется в папку gamedata\levels\имя_уровня\level.hom
Версии
Не менялся формат с самой первой версии.
С билда 1154 до Зова Припяти версия равна 0.
Блоки
Состоит из двух блоков:
Идентификатор блока | Размер (в байтах) | Описание |
---|---|---|
0x0 | 4 | заголовок (содержит информацию о версии формата) |
0x1 | количество полигонов * 40 | координаты вершин и свойства полигонов |
Структура файла схожа с *.som
Описание блоков
Блок 0x0 (заголовок)
Тип | Описание |
---|---|
I | версия формата |
Блок 0x1 (данные меша)
Содержит данные треугольников, которые записаны поочерёдно.
Данные для одного треугольника:
Тип | Описание |
---|---|
fff | 3D координаты первой вершины треугольника |
fff | 3D координаты второй вершины треугольника |
fff | 3D координаты третьей вершины треугольника |
I | опция "two sided" |
Возможные значения опции "two sided": 0x0, 0x1
Индексы полигонов не сохраняются, но их легко можно сгенерировать, так как все вершины сохранены так, что индексы полигонов расположены в порядке возрастания.
Первый треугольник будет таким: 0, 1, 2, второй: 3, 4, 5, третий: 6, 7, 8 и т.д.