Что такое формат файла BMD?
.bmd - это проприетарный бинарный формат 3D-моделей Nintendo, используемый в библиотеке J3DGraph, части внутреннего фреймворка JSYSTEM, на котором базировалась разработка игр от первого лица для GameCube и Wii. Он хранит полную 3D-модель, включая геометрию, скелет, материалы и встроенные текстуры в одном файле.
Файлы начинаются с 8-байтовой ASCII-сигнатуры (magic bytes) J3D2bmd3, где J3D - название библиотеки J3DGraph, 2 - ревизия библиотеки 2, bmd - тип формата, а 3 - ревизия формата 3. По смещению 8 следует 32-битный размер файла в формате big-endian, затем количество фрагментов (chunks) по смещению 12. Файл разделен на именованные бинарные секции:
INF1- граф сцены и иерархия узловVTX1- атрибуты вершин (координаты, нормали, UV-развертка, цвета вершин)EVP1/DRW1- веса скиннинга оболочки и таблица матриц отрисовкиJNT1- определения сочленений и скелетаSHP1- формы геометрии и вызовы отрисовкиMAT3- материалы с конфигурациями стадий шейдеров TEV и ссылками на текстурыTEX1- встроенные текстуры в формате BTI
Тесно связанный формат .bdl добавляет секцию MDL3 с предварительно скомпилированными списками отображения (display lists) для оборудования GameCube GX. Известные игры, использующие .bmd, включают Super Mario Sunshine, Mario Kart: Double Dash!! и Pikmin. Сообщество создало инструменты SuperBMD и J3D-Model-Viewer, которые позволяют извлекать и повторно импортировать модели для сохранения и моддинга; Dolphin Emulator отрисовывает ресурсы .bmd нативно.
Безопасность и защита
РИСК: LOWBMD - это пассивный файл данных 3D-модели. Не содержит исполняемого кода. Риск незначителен, если только файл не встроен в ROM, используемый для эмуляции; в этом случае применяются стандартные юридические соображения, связанные с эмуляцией (владение оригинальным диском игры является правовой основой для использования эмулятора).
Детали формата
в двух словах- MU Online / WEBZEN BMD (Battle Motion Data) - MMORPG MU Online от WEBZEN использует .bmd для данных 3D-моделей; это совершенно не связанный бинарный формат, отличный от Nintendo J3D BMD.
- Blackmagic Design BMD - Некоторые приложения Blackmagic Design могут использовать .bmd для данных проектов или конфигураций; не связано с игровыми моделями.
Программы, открывающие файлы BMD
Технические подробности
глубокая спецификация| Магические байты | `4A 33 44 32 62 6D 64 33` («J3D2bmd3») по смещению 0 |
| Порядок байтов | Big-endian (архитектура PowerPC в GameCube и Wii) |
| Контейнер | Формат именованных бинарных фрагментов JSYSTEM (библиотека J3DGraph) |
| Версия библиотеки / формата | J3DGraph ревизия 2, формат BMD ревизия 3 (закодировано в 8-байтовой магической строке) |
| Заголовок файла | 8-байтовая сигнатура + 4-байтовый размер файла (big-endian) + 4-байтовое количество фрагментов (big-endian) по смещениям 0, 8, 12 |
| Ключевые секции | `INF1` (граф сцены), `VTX1` (вершины), `JNT1` (скелет), `SHP1` (формы), `MAT3` (материалы), `TEX1` (текстуры) |
| Система скиннинга | На основе оболочек (envelope): `EVP1` хранит веса смешивания для каждой вершины; `DRW1` содержит таблицу матриц отрисовки |
| Формат встроенных текстур | BTI (Binary Texture Image), хранящийся внутри секции `TEX1` |
| Шейдинг TEV | `MAT3` хранит до 16 конфигураций стадий TEV (Texture Environment) на материал для GPU GameCube/Wii с фиксированной функциональностью |
| Сжатие | Отсутствует внутри файла; родительские архивы `.szs` / `.arc` могут использовать сжатие Yaz0 или LZ77 |
| Типичный размер файла | 20 КБ - 5 МБ |
| Связанный формат | `.bdl` (Binary Display List) расширяет `.bmd` секцией `MDL3` с предварительно скомпилированными списками отображения оборудования GX |
| Выпущен | 2001 (Luigi's Mansion, Nintendo GameCube) |
| Последняя версия | J3D2bmd3 (revision 3 of the BMD format, revision 2 of the J3D library) - frozen; last used in Wii-era games |
| Спецификация | wiki.cloudmodding.com |
Конвертации BMD
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах BMD.