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

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

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

Перейти к: навигация, поиск
м (Pavel переименовал страницу Формат файлов *.hom в Level.hom)
(Блок 0x1 (данные меша))
 
(не показаны 4 промежуточных версий 1 участника)
Строка 1: Строка 1:
 +
Перед прочтением данной статьи, прочтите эту статью: <br>[[Бинарные файлы]]
 +
 
== Описание ==
 
== Описание ==
hom - отсекатель геометрии. Является мешем. Нужен для увеличения производительности. Создаётся данный файл при компиляции уровня (если в СДК были расставлены HOM объекты). Сохраняется в папку gamedata\levels\имя_уровня\level.hom
+
HOM - отсекатель геометрии.
 +
 
 +
Является мешем.
 +
 
 +
Нужен для увеличения производительности.
 +
 
 +
Создаётся данный файл при компиляции уровня (если в СДК были расставлены HOM объекты).
 +
 
 +
Сохраняется в папку gamedata\levels\имя_уровня\level.hom
  
 
== Версии ==
 
== Версии ==
Не менялся формат с самой первой версии. С билда 1154 до Зова Припяти версия равна 0.
+
Не менялся формат с самой первой версии.
 +
 
 +
С билда 1154 до Зова Припяти версия равна 0.
  
 
== Блоки ==
 
== Блоки ==
Состоит из двух блоков
+
Состоит из двух блоков:
  
0x0 - содержит информацию о версии формата
+
{| class="standard"
 
+
|-
0x1 - полигоны
+
!Идентификатор блока||Размер (в байтах)||Описание
 +
|-
 +
|0x0||4||заголовок (содержит информацию о версии формата)
 +
|-
 +
|0x1||количество полигонов * 40||координаты вершин и свойства полигонов
 +
|-
 +
|}
  
 
Структура файла схожа с *.som
 
Структура файла схожа с *.som
 
  
 
== Описание блоков ==
 
== Описание блоков ==
=== Блок 0x0 ===
+
=== Блок 0x0 (заголовок) ===
Размер блока равен 4 байтам. Данный блок хранит одно 4 байтовое число, которое указывает версию формата. Во всех файлах 0x0.
+
{| class="standard"
 +
|-
 +
!Тип||Описание
 +
|-
 +
|I||версия формата
 +
|-
 +
|}
 +
 
 +
===Блок 0x1 (данные меша) ===
 +
 
 +
Содержит данные треугольников, которые записаны поочерёдно.
 +
 
 +
Данные для одного треугольника:
  
===Блок 0x1 ===
+
{| class="standard"
Данные меша. Здесь хранятся координаты вершин и опция 2 sided. Количество вершин кратно трём. Опция - 4 байтовое целое число. Возможные значения: 0x0, 0x1
+
|-
 +
!Тип||Описание
 +
|-
 +
|fff||3D координаты первой вершины треугольника
 +
|-
 +
|fff||3D координаты второй вершины треугольника
 +
|-
 +
|fff||3D координаты третьей вершины треугольника
 +
|-
 +
|I||опция "two sided"
 +
|-
 +
|}
  
Индексы полигонов не сохраняются, но их легко можно сгенерировать, так как все вершины сохранены так, что индексы полигонов расположены в порядке возрастания. Первый треугольник будет таким: 0, 1, 2, второй: 3, 4, 5, третий: 6, 7, 8 и т.д.
+
Возможные значения опции "two sided": 0x0, 0x1
  
Один полигон хранится в 40 байтах.
+
Индексы полигонов не сохраняются, но их легко можно сгенерировать, так как все вершины сохранены так, что индексы полигонов расположены в порядке возрастания.
  
Информация о формате взята из xray_re-tools-src
+
Первый треугольник будет таким: 0, 1, 2, второй: 3, 4, 5, третий: 6, 7, 8 и т.д.
  
 
[[Участник: Pavel]]
 
[[Участник: Pavel]]
 
[[Категория:Форматы файлов]]
 
[[Категория:Форматы файлов]]

Текущая версия на 08:00, 20 декабря 2016

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

Описание

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 и т.д.

Участник: Pavel

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