Что такое формат файла B3D?
Файл .b3d - это бинарный формат 3D-моделей на основе чанков (блоков), разработанный Blitz Research Ltd для игрового SDK Blitz3D (выпущен в 2001 году). Он хранит полный граф сцены в одном файле: геометрию меша, UV-координаты, ссылки на материалы и текстуры, веса костей скелета и последовательности ключевых кадров анимации.
Формат использует иерархическую структуру чанков. Каждый чанк начинается с 4-символьного ASCII-тега и 4-байтового значения длины данных в формате little-endian. Обязательный корневой чанк BB3D оборачивает чанки TEXS (список имен файлов текстур), BRUS (определения кистей и материалов) и NODE. Чанки NODE являются рекурсивными, формируя дерево сцены «родитель-потомок». Узел MESH содержит VRTX (буфер вершин с позициями, нормалями, UV и цветами вершин) и TRIS (массивы индексов треугольников с назначенными материалами). Чанки KEYS и ANIM определяют именованные последовательности анимации с ключевыми кадрами положения, вращения и масштаба для каждого кадра.
Blitz Research открыла исходный код Blitz3D в 2013 году. Формат обрел заметную «вторую жизнь» как основной формат 3D-моделей для Luanti (ранее Minetest), воксельного игрового движка с открытым исходным кодом, что обеспечило активную поддержку инструментов сообществом далеко за пределами оригинального SDK. 3D-движок Irrlicht также нативно загружает файлы .b3d. Blender может импортировать .b3d через плагин от сообщества.
Для современных производственных конвейеров предпочтительны glTF или FBX; .b3d остается широко используемым в сообществах моддинга Luanti.
Безопасность и защита
РИСК: LOWБинарный файл 3D-модели; не содержит исполняемого кода. Известных уязвимостей (CVE) для парсеров B3D нет. Соблюдайте обычную осторожность при открытии файлов из неизвестных источников в игровых движках.
Детали формата
в двух словах- BodyPaint 3D (MAXON) - Приложение для рисования BodyPaint 3D от MAXON упоминается в некоторых базах данных в связи с .b3d, но его родным форматом является .c4d; .b3d не является документированным форматом BodyPaint.
Программы, открывающие файлы B3D
Технические подробности
глубокая спецификация| Магические байты | 42 42 33 44 («BB3D» в ASCII) по смещению 0 - обязательный тег корневого чанка |
| Порядок байтов | Little-endian повсеместно |
| Структура чанков | 4-символьный ASCII-тег + 4-байтовая длина данных в little-endian предшествуют полезной нагрузке каждого чанка; чанки могут быть вложенными на любую глубину |
| Корневой чанк | `BB3D` - содержит целое число версии (major×100 + minor) и оборачивает все чанки содержимого |
| Чанк текстур | `TEXS` - упорядоченный список строк путей к файлам текстур, на которые ссылаются индексы материалов |
| Чанк материалов | `BRUS` - определения кистей с цветом, блеском, режимом смешивания и ссылками на индексы текстур |
| Чанки геометрии | `MESH` → `VRTX` (позиции вершин, нормали, UV, цвета вершин) + `TRIS` (массивы индексов треугольников с назначением материалов для каждого треугольника) |
| Чанки анимации | `BONE` (веса вершин для каждой кости), `KEYS` (ключевые кадры позиции/вращения/масштаба для каждого узла), `ANIM` (именованная последовательность с диапазоном начальных/конечных кадров) |
| Граф сцены | Чанки `NODE` являются рекурсивными, поддерживая иерархические связи опорных точек (pivot) и трансформаций «родитель-потомок» |
| Типичный размер | 10 КБ - 20 МБ (от простого статического объекта до сложного персонажа с ригом и последовательностями анимации) |
| Сжатие | Отсутствует - все данные хранятся в виде несжатого бинарного кода |
| Основное активное использование | Воксельный движок с открытым кодом Luanti (ранее Minetest) - `.b3d` является рекомендуемым форматом для моделей сущностей и NPC в модах Luanti |
| Поддержка движками | Движок Irrlicht 3D (нативно); Blitz3D open-source (оригинальный хост); Blender (плагин импорта от сообщества) |
| История открытого кода | Исходный код Blitz3D открыт на GitHub (blitz-research/blitz3d) Марком Сибли в 2013 году; спецификация формата документирована сообществом Luanti |
| Выпущен | 2001 (Blitz3D 1.0) |
| Последняя версия | No versioning after Blitz3D open-sourced; format spec frozen |
| Открыть стандартное | Да · без роялти |
| Спецификация | docs.luanti.org |
Конвертации B3D
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах B3D.