B3D (формат файлов): различия между версиями
(Новая страница: «Категория:Дальнобойщики_2 Категория:Моддинг (Дальнобойщики 2) Описание формата *.b3d и…») |
(нет различий)
|
Текущая версия на 15:11, 8 сентября 2025
Описание формата *.b3d игр Дальнобойщики: Путь к победе и Дальнобойщики 2. Данный формат представляет собой трёхмерную сцену с различными типами объектов: контейнерами, переключателями, триггерами, источниками освещения, геометрией и т.п.[1]. Инструменты для работы с B3D представлены на странице с утилитами. Сам формат, предположительно, создан в первой половине 90-х годов ХХ века.
Содержание
- 1 Общее описание структуры файла
- 2 Структуры и описания объектов
- 2.1 Некоторые используемые структуры
- 2.2 Блок 00
- 2.3 Блок 01
- 2.4 Контейнер 02
- 2.5 Контейнер 03
- 2.6 Контейнер 04
- 2.7 Контейнер 05
- 2.8 Блок типа 06
- 2.9 Блок типа 07
- 2.10 Блок типа 08
- 2.11 Блок типа 09
- 2.12 Блок типа 10
- 2.13 Блок типа 11
- 2.14 Блок типа 12
- 2.15 Блок типа 13
- 2.16 Блок типа 14
- 2.17 Блок типа 15
- 2.18 Блок типа 16
- 2.19 Блок типа 17
- 2.20 Блок типа 18
- 2.21 Блок типа 19
- 2.22 Блок типа 20
- 2.23 Блок типа 21
- 2.24 Блок типа 22
- 2.25 Блок типа 23
- 2.26 Блок типа 24
- 2.27 Блок типа 25
- 2.28 Блок типа 26
- 2.29 Блок типа 27
- 2.30 Блок типа 28
- 2.31 Блок типа 29
- 2.32 Блок типа 30
- 2.33 Блок типа 31
- 2.34 Блок типа 32
- 2.35 Блок типа 33
- 2.36 Блок типа 34
- 2.37 Блок типа 35
- 2.38 Блок типа 36
- 2.39 Блок типа 37
- 2.40 Блок типа 38
- 2.41 Блок типа 39
- 2.42 Блок типа 40
- 3 Примечания
Общее описание структуры файла
Формат b3d разделен на 3 основные секции:
<заголовок> <список материалов> <блоки данных>
Общее описание блока данных
тип данных | описание |
---|---|
int32 | Идентификатор начала блока |
char[32] | Имя блока |
int32 | Тип блока |
<данные> | Данные блока |
int32 | Идентификатор конца блока |
Числовые идентификаторы
Располагаются в начале и конце каждого экземпляра блока, а также в начале и конце блока данных b3d-файла (см. общее описание структуры файла). Представляют собой int32.
значение int32 | описание |
---|---|
111 | Начало секции с блоками данных |
222 | Конец секции с блоками данных |
333 | Начало одного блока |
444 | Разделитель переключаемых блоков (маркер окончания переключаемой группы) |
555 | Конец одного блока |
Заголовок
тип данных | описание | значение по умолчанию |
---|---|---|
char[4] | сигнатура файла | "b3d" |
int32 | [ Размер файла в байтах ] / 4 | |
int32 | [ Смещение секции со списком используемых материалов ] / 4 | 6 |
int32 | [ Размер секции со списком материалов (1ая секция) ] / 4 | |
int32 | [ Смещение секции с блоками данных (третья секция) ] / 4 | |
int32 | [ Размер секции с блоками данных (третья секция) в байтах ] / 4 |
Список материалов
Представляет собой массив имён материалов из RES-файла. Порядок и имена должны соответствовать RES.
тип данных | описание |
---|---|
int32 | количество материалов |
массив char[32] | имя материала |
Структуры и описания объектов
Структуры даны в синтаксисе C++.
Некоторые используемые структуры
struct Vector3{ float x; float y; float z; }; struct Vector4{ float x; float y; float z; float w; };
Блок 00
char[32] some_name Vector3 some_position
Назначение неизвестно. Обычно расположен сразу после списка материалов в любом b3d-файле.
Блок 01
char[32] start_space //имя локатора типа 24, задаёт начальную позицию обозревателя char[32] start_room //имя комнаты типа 19
Обозреватель (Viewer).
Контейнер 02
Vector4 position; Vector4 unknown; int childCount; <блоки[childCount]>
Контейнер с неизвестными параметрами.
Контейнер 03
Vector4 position; int childCount; <блоки[childCount]>
Простой контейнер.
Контейнер 04
Vector4 position; char[32] parentObject; char[32] linkedObject; int childCount; <блоки[childCount]>
Контейнер с возможностью его прямой привязки к другому объекту: в parentObject можно задать имя локатора типа 24, и тогда данный контейнер будет привязан к позиции локатора.
Контейнер 05
Vector4 position; char[32] linkedObject; int childCount; <блоки[childCount]>
Контейнер.
Блок типа 06
Блок типа 07
Блок типа 08
Блок типа 09
Блок типа 10
Блок типа 11
Блок типа 12
Блок типа 13
Блок типа 14
Блок типа 15
Блок типа 16
Блок типа 17
Блок типа 18
Блок типа 19
Блок типа 20
Блок типа 21
Блок типа 22
Блок типа 23
Блок типа 24
Блок типа 25
Блок типа 26
Блок типа 27
Блок типа 28
Блок типа 29
Блок типа 30
Блок типа 31
Блок типа 32
Блок типа 33
Блок типа 34
Блок типа 35
Блок типа 36
Блок типа 37
Блок типа 38
Блок типа 39
Блок типа 40
Дальнобойщики 2 | ||
---|---|---|
Игровое наполнение | Игровой регион • Автопарк • Саундтрек • Вступительный ролик • Рация • Милиция • Вертолёт | |
Моддинг | Модификации • Утилиты • game.cnf • sch-файлы • vehicle.tech • truck.ini | |
Разное | История версий • Советы и секреты • Бонусный диск • Управление • Авторы |