Co to jest format pliku RBXM?
Plik .rbxm to binarny plik modelu używany przez Roblox Studio, środowisko programistyczne platformy Roblox. Przechowuje on drzewo instancji Roblox - części 3D, skrypty, modele i obiekty GUI - bez korzenia DataModel, co czyni go przenośnym zasobem, który deweloperzy mogą wstawić do dowolnej gry.
Plik zaczyna się od 14-bajtowego nagłówka magicznego <roblox!, po którym następują bajty kontrolne i 4-bajtowe pole wersji (0x00000000 dla wersji 0). Treść jest podzielona na typowane fragmenty (chunks): INST (definicje klas), PROP (wartości właściwości), PRNT (powiązania rodzic-dziecko), META (metadane), SSTR (współdzielone ciągi znaków) i END (terminator). Każdy fragment jest niezależnie kompresowany za pomocą LZ4 (domyślnie) lub Zstandard, albo przechowywany bez kompresji.
Dane właściwości wykorzystują kodowanie z tagowaniem typów dla takich typów jak Vector3, CFrame i Color3. Tablice liczb całkowitych używają układu z przeplotem bajtów (byte-interleaved), co poprawia wydajność kompresji długości serii (RLE).
.rbxm posiada towarzyszący format tekstowy - .rbxmx - który przechowuje to samo drzewo instancji jako czytelny dla człowieka XML. Binarny .rbxm jest mniejszy i szybciej się ładuje; .rbxmx jest preferowany dla zasobów objętych kontrolą wersji w narzędziach typu pipeline, takich jak Rojo.
Roblox Corporation nie opublikowała oficjalnej specyfikacji formatu; utrzymywany przez społeczność projekt rbx-dom pod adresem dom.rojo.space dokumentuje układ binarny.
Bezpieczeństwo
RYZYKO: MEDIUMPliki .rbxm mogą zawierać skrypty Lua/Luau, które są wykonywane wewnątrz Roblox Studio. Złośliwe skrypty w modelach udostępnianych przez społeczność mogą wykorzystywać luki w Roblox Studio lub mechanikę gry. Roblox stosuje piaskownicę (sandboxing), ale uruchamianie niezaufanych modeli w Studio niesie ze sobą ryzyko. Pobieraj modele wyłącznie z oficjalnego Creator Marketplace lub od zaufanych deweloperów.
Szczegóły formatu
w pigułce- Plik modelu Roblox XML (.rbxmx) - Odpowiednik XML dla .rbxm - ten sam model danych, czytelny dla człowieka format XML; rozszerzenie to .rbxmx, a nie .rbxm.
Programy otwierające pliki RBXM
Szczegóły techniczne
specyfikacja| Magiczne bajty | `3C 72 6F 62 6C 6F 78 21` (`<roblox!`) na offsetcie 0; pełny 14-bajtowy nagłówek |
| Wersja pliku | Wersja 0 (bajty 9-12 = `0x00000000`); śledzona w nagłówku plika |
| Kolejność bajtów | Little-endian dla większości pól; big-endian z przeplotem bajtów dla tablic liczb całkowitych |
| Kompresja fragmentów | LZ4 (domyślnie) lub Zstandard (`28 B5 2F FD`); możliwe są również fragmenty nieskompresowane |
| Typy fragmentów | `META`, `SSTR`, `INST`, `PROP`, `PRNT`, `END` |
| Model instancji | Przechowuje wybór instancji Roblox bez korzenia `DataModel` |
| Kodowanie właściwości | Wartości z tagowaniem typów: `Vector3`, `CFrame`, `Color3`, `BrickColor`, `UDim2` itd. |
| Kodowanie liczb całkowitych | Przeplot bajtów elementów tablicy dla zwiększenia wydajności kompresji długości serii |
| Odpowiednik XML | `.rbxmx` przechowuje identyczne drzewo instancji jako czytelny dla człowieka XML |
| Główne narzędzie | Roblox Studio (Windows i macOS) |
| Specyfikacja formatu | Udokumentowana przez społeczność w rbx-dom pod adresem `dom.rojo.space/binary.html`; brak oficjalnej specyfikacji Roblox |
| Typowy rozmiar pliku | 5 KB - 50 MB w zależności od złożoności modelu i osadzonych zasobów |
| Integralność | Brak sumy kontrolnej na poziomie pliku; integralność opiera się na ramkowaniu fragmentów |
| Wydano | circa 2012 (binary format); XML .rbxmx predates it |
| Najnowsza wersja | Binary Model Format Version 0 (as documented by rbx-dom community; format evolves with Roblox Studio) |
| Specyfikacja | dom.rojo.space |
Konwersje RBXM
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki RBXM.