Wat is het B3D-bestandsformaat?
Een .b3d-bestand is een binair op chunks gebaseerd 3D-modelformaat ontwikkeld door Blitz Research Ltd voor de Blitz3D game-SDK (uitgebracht in 2001). Het slaat een complete scènegraaf op in een enkel bestand: mesh-geometrie, UV-coördinaten, materiaal- en textuurverwijzingen, skeletale botgewichten en keyframe-animatiesequenties.
Het formaat maakt gebruik van een hiërarchische chunk-structuur. Elke chunk begint met een 4-tekens ASCII-tag en een 4-byte little-endian datalengte. De verplichte root-chunk BB3D omvat TEXS (lijst met textuurbestandsnamen), BRUS (penseel- en materiaaldefinities) en NODE-chunks. NODE-chunks zijn recursief en vormen een ouder-kind scèneboom. Een MESH-node bevat VRTX (vertex-buffer met posities, normalen, UV's en vertex-kleuren) en TRIS (driehoek-indexarrays met materiaaltoewijzingen). KEYS- en ANIM-chunks definiëren benoemde animatiesequenties met positie-, rotatie- en schaal-keyframes per frame.
Blitz Research heeft Blitz3D in 2013 open-source gemaakt. Het formaat kreeg een prominent tweede leven als het primaire 3D-modelformaat voor Luanti (voorheen Minetest), de open-source voxel-game-engine, wat zorgt voor actieve community-tooling tot ver buiten de originele SDK. De Irrlicht 3D-engine laadt ook standaard .b3d-bestanden. Blender kan .b3d importeren via een community-plug-in.
Voor moderne productiepipelines hebben glTF of FBX de voorkeur; .b3d blijft veelgebruikt in Luanti-moddinggemeenschappen.
Beveiliging & veiligheid
RISICO: LOWBinair 3D-modelbestand; geen uitvoerbare code. Geen bekende CVE's voor B3D-parsers. Normale voorzichtigheid geboden bij het openen van bestanden uit onbekende bronnen in game-engines.
Formaatdetails
in een notendop- BodyPaint 3D (MAXON) - MAXON's BodyPaint 3D-schilderapplicatie is door sommige databases geassocieerd met .b3d, maar het eigenlijke eigen formaat is .c4d; .b3d is geen gedocumenteerd BodyPaint-formaat.
Programma's die B3D-bestanden openen
Technische details
diepe specificaties| Magic bytes | 42 42 33 44 („BB3D” ASCII) op offset 0 - verplichte root-chunk-tag |
| Byte-volgorde | Overal Little-endian |
| Chunk-structuur | 4-tekens ASCII-tag + 4-byte little-endian datalengte gaat vooraf aan elke chunk-payload; chunks kunnen tot willekeurige diepte worden genest |
| Root-chunk | `BB3D` - bevat een versie-integer (major×100 + minor) en omvat alle inhoud-chunks |
| Textuur-chunk | `TEXS` - geordende lijst van textuurbestandspad-strings waarnaar wordt verwezen door materiaal-indices |
| Materiaal-chunk | `BRUS` - penseeldefinities met kleur, glans, mengmodus en textuurindex-verwijzingen |
| Geometrie-chunks | `MESH` → `VRTX` (vertex-posities, normalen, UV's, vertex-kleuren) + `TRIS` (driehoek-indexarrays met materiaaltoewijzing per driehoek) |
| Animatie-chunks | `BONE` (vertex-gewichten per bot), `KEYS` (positie/rotatie/schaal-keyframes per node), `ANIM` (benoemde sequentie met start/eind framebereik) |
| Scènegraaf | `NODE`-chunks zijn recursief en ondersteunen hiërarchische pivot- en ouder-kind transformatierelaties |
| Typische grootte | 10 KB - 20 MB (van eenvoudige statische prop tot complex gerigged personage met animatiesequenties) |
| Compressie | Geen - alle gegevens opgeslagen als ongecomprimeerde binaire data |
| Primair actief gebruik | Luanti (voorheen Minetest) open-source voxel-engine - `.b3d` is het aanbevolen formaat voor entity- en NPC-modellen in Luanti-mods |
| Engine-ondersteuning | Irrlicht 3D-engine (standaard); Blitz3D open-source (originele host); Blender (community import-plugin) |
| Open-source geschiedenis | Blitz3D open-sourced op GitHub (blitz-research/blitz3d) door Mark Sibly in 2013; formaatspecificatie gedocumenteerd door de Luanti-gemeenschap |
| Uitgebracht | 2001 (Blitz3D 1.0) |
| Laatste versie | No versioning after Blitz3D open-sourced; format spec frozen |
| Open standaard | Ja · royaltyvrij |
| Specificatie | docs.luanti.org |
B3D conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over B3D-bestanden.