Что такое формат файла RBXM?
Файл .rbxm - это бинарный файл модели, используемый в Roblox Studio, среде разработки для платформы Roblox. Он хранит дерево экземпляров (instances) Roblox - 3D-детали, скрипты, модели и объекты GUI - без корневого DataModel, что делает его переносимым ресурсом, который разработчики могут вставить в любую игру.
Файл начинается с 14-байтового магического заголовка <roblox!, за которым следуют управляющие байты и 4-байтовое поле версии (0x00000000 для версии 0). Тело разделено на типизированные фрагменты (chunks): INST (определения классов), PROP (значения свойств), PRNT (связи родитель-потомок), META (метаданные), SSTR (общие строки) и END (терминатор). Каждый фрагмент независимо сжимается с помощью LZ4 (по умолчанию) или Zstandard, либо хранится без сжатия.
Данные свойств используют кодирование с тегами типов для таких типов, как Vector3, CFrame и Color3. Массивы целых чисел используют макет с чередованием байтов, что повышает эффективность сжатия длинных серий (RLE).
У .rbxm есть сопутствующий текстовый формат - .rbxmx, который хранит то же дерево экземпляров в виде человекочитаемого XML. Бинарный .rbxm меньше по размеру и загружается быстрее; .rbxmx предпочтителен для ресурсов с контролем версий в таких инструментах, как Rojo.
Корпорация Roblox не публиковала официальную спецификацию формата; поддерживаемый сообществом проект rbx-dom на dom.rojo.space документирует бинарную структуру.
Безопасность и защита
РИСК: MEDIUMФайлы .rbxm могут содержать скрипты Lua/Luau, которые выполняются внутри Roblox Studio. Вредоносные скрипты в моделях из общего доступа могут использовать уязвимости Roblox Studio или игровые механики. В Roblox есть песочница, но запуск непроверенных моделей в Studio несет риски. Загружайте модели только из официального Creator Marketplace или от доверенных разработчиков.
Детали формата
в двух словах- Файл модели Roblox XML (.rbxmx) - XML-аналог .rbxm - та же модель данных, человекочитаемый формат XML; расширение .rbxmx, а не .rbxm.
Программы, открывающие файлы RBXM
Технические подробности
глубокая спецификация| Магические байты | `3C 72 6F 62 6C 6F 78 21` (`<roblox!`) по смещению 0; полный 14-байтовый заголовок |
| Версия файла | Версия 0 (байты 9-12 = `0x00000000`); отслеживается в заголовке файла |
| Порядок байтов | Little-endian для большинства полей; big-endian с чередованием байтов для массивов целых чисел |
| Сжатие фрагментов | LZ4 (по умолчанию) или Zstandard (`28 B5 2F FD`); также возможны несжатые фрагменты |
| Типы фрагментов | `META`, `SSTR`, `INST`, `PROP`, `PRNT`, `END` |
| Модель экземпляров | Хранит набор экземпляров Roblox без корневого `DataModel` |
| Кодирование свойств | Значения с тегами типов: `Vector3`, `CFrame`, `Color3`, `BrickColor`, `UDim2` и т. д. |
| Кодирование целых чисел | Чередование байтов элементов массива для эффективности сжатия длинных серий |
| Аналог в XML | `.rbxmx` хранит идентичное дерево экземпляров в виде человекочитаемого XML |
| Основной инструмент | Roblox Studio (Windows и macOS) |
| Спецификация формата | Документировано сообществом в rbx-dom на `dom.rojo.space/binary.html`; официальной спецификации Roblox нет |
| Типичный размер файла | от 5 КБ до 50 МБ в зависимости от сложности модели и встроенных ресурсов |
| Целостность | Контрольная сумма на уровне файла отсутствует; целостность зависит от обрамления фрагментов |
| Выпущен | circa 2012 (binary format); XML .rbxmx predates it |
| Последняя версия | Binary Model Format Version 0 (as documented by rbx-dom community; format evolves with Roblox Studio) |
| Спецификация | dom.rojo.space |
Конвертации RBXM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах RBXM.