Обсуждение участника:Excid — S.T.A.L.K.E.R. Inside Wiki

Обсуждение участника:Excid

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

Перейти к: навигация, поиск

Формат разобрал excid

О формате

Формат *.object используется в качестве основного формата хранения моделей на этапе редактирования (включая экспорт из Maya или 3ds Max и хранение моделей до компиляции уровня)

Описание структуры

Формат бинарный. Файл состоит из вложенных друг в друга блоков. Весь файл представляет собой единый блок.

Структура блока

Блок имеет 3 обязательные части:

Часть Тип(размер) Подробнее
Идентификатор типа блока (4) 2 байта идентификатора и 2 нулевых байта
Размер блока uint(4) без учета этих частей — только то, что идет дальше
Данные (Размер блока) Данные могут быть представлены вложенными блоками

Типы данных

Особое внимание стоит обратить на то, как хранятся строки: они нуль-терминальные, то есть в конце обязательно содержат нулевой байт.

Структура

В заголовке последующих пунктов в скобках содержатся идентификаторы типа блока в шестнадцатиричной форме, при этом байты представлены в обратном порядке (то есть так, как числа задаются в исходниках), поэтому идентификатор 0x0912 в файле будет выглядеть как 09 12 00 00.

Файл (0x7777)

Неизвестные данные (0x0900)

Возможно, это версия.

Название Тип(размер) Значение Подробнее
Неизвестно (2) 0x10 0x00

Пользовательские информация — User Data (0x0912)

В редакторе Game options > User Data.

Название Тип(размер) Значение Подробнее
Данные строка Произвольная строка

Уровень детализации — LOD (0x0925)

В редакторе LOD > Reference.

Название Тип(размер) Значение Подробнее
Ссылка строка Путь к модели, содержащей следующий уровень детализации

Тип объекта — Object Type (0x0903)

В редакторе Object Type.

Название Тип(размер) Значение Подробнее
Тип (4) Значение 0x00 для статической модели (тип Static)

Данные о геометрии — Geometry (0x0910)

В редакторе Geometry.

Неизвестные данные (0x1000)

Название Тип(размер) Значение Подробнее
Неизвестно (2) 0x11 0x00

Ограничивающий параллелепипед — Bounding Box (0x1004)

В редакторе Transform > BBox Min/Max

Название Тип(размер) Значение Подробнее
Минимум float(4)[3] Минимальные значения вершин по x, y, z
Максимум float(4)[3] Максимальные значения вершин по x, y, z

Неизвестные данные (0x1002)

Название Тип(размер) Значение Подробнее
Неизвестно (1) 0x05

Неизвестные данные (0x1010)

Название Тип(размер) Значение Подробнее
Неизвестно (8) 0x00 Все нули

Допишу потом

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