Hva er B3D-filformatet?
En .b3d-fil er et binært, blokkbasert (chunk-based) 3D-modellformat utviklet av Blitz Research Ltd for Blitz3D spill-SDK (utgitt 2001). Den lagrer en komplett scenegraf i én enkelt fil: mesh-geometri, UV-koordinater, material- og teksturreferanser, skjelettvekting (skeletal bone weights) og sekvenser med nøkkelbildeanimasjon (keyframe animation).
Formatet bruker en hierarkisk blokkstruktur. Hver blokk starter med en 4-tegns ASCII-tagg og en 4-byte «little-endian» datalengde. Den obligatoriske rotblokken BB3D omslutter TEXS (liste over teksturfilnavn), BRUS (definisjoner for pensler og materialer) og NODE-blokker. NODE-blokker er rekursive og danner et foreldre-barn-scenetre. En MESH-node inneholder VRTX (vertex-buffer med posisjoner, normaler, UV-er og vertex-farger) og TRIS (triangel-indeksmatriser med materialtilordninger). KEYS- og ANIM-blokker definerer navngitte animasjonssekvenser med nøkkelbilder for posisjon, rotasjon og skalering per bilde.
Blitz Research gjorde Blitz3D til åpen kildekode i 2013. Formatet fikk et nytt liv som det primære 3D-modellformatet for Luanti (tidligere Minetest), den åpne voksel-spillmotoren, noe som sikrer aktive verktøy fra fellesskapet lenge etter den opprinnelige SDK-en. Irrlicht 3D-motoren laster også .b3d-filer naturlig. Blender kan importere .b3d via en tilleggspakke fra fellesskapet.
For moderne produksjonsløp foretrekkes glTF eller FBX; .b3d forblir mye brukt i Luanti-moddingmiljøer.
Sikkerhet og trygghet
RISIKO: LOWBinær 3D-modellfil; ingen kjørbar kode. Ingen kjente CVE-er for B3D-parsere. Utvis normal forsiktighet ved åpning av filer fra ukjente kilder i spillmotorer.
Formatdetaljer
i et nøtteskall- BodyPaint 3D (MAXON) - MAXONs BodyPaint 3D-maleprogram har blitt knyttet til .b3d av enkelte databaser, men dets faktiske naturlige format er .c4d; .b3d er ikke et dokumentert BodyPaint-format.
Programmer som åpner B3D-filer
Tekniske detaljer
dyp spesifikasjon| Magiske byte | 42 42 33 44 («BB3D» ASCII) ved posisjon 0 - obligatorisk rotblokk-tagg |
| Byterekkefølge | Little-endian gjennomgående |
| Blokkstruktur | 4-tegns ASCII-tagg + 4-byte little-endian datalengde går foran hver blokk; blokker kan nøstes i vilkårlig dybde |
| Rotblokk | `BB3D` - inneholder et versjonsheltall (major×100 + minor) og omslutter alle innholdsblokker |
| Teksturblokk | `TEXS` - sortert liste over teksturfilstier referert til av materialindekser |
| Materialblokk | `BRUS` - penseldefinisjoner med farge, glans, blandingsmodus og teksturindeksreferanser |
| Geometriblokker | `MESH` → `VRTX` (vertex-posisjoner, normaler, UV-er, vertex-farger) + `TRIS` (triangel-indeksmatriser med materialtilordning per triangel) |
| Animasjonsblokker | `BONE` (vertex-vekting per bein), `KEYS` (posisjon/rotasjon/skala-nøkkelbilder per node), `ANIM` (navngitt sekvens med start/slutt-rammeområde) |
| Scenegraf | `NODE`-blokker er rekursive og støtter hierarkiske dreiepunkt og foreldre-barn-transformasjonsforhold |
| Typisk størrelse | 10 KB - 20 MB (fra enkle statiske objekter til komplekse figurer med animasjonssekvenser) |
| Komprimering | Ingen - alle data lagres som ukomprimert binærfil |
| Primær aktiv bruk | Luanti (tidligere Minetest) åpen voksel-motor - `.b3d` er det anbefalte formatet for entitets- og NPC-modeller i Luanti-modder |
| Motorstøtte | Irrlicht 3D-motor (naturlig); Blitz3D åpen kildekode (opprinnelig vert); Blender (tilleggspakke for import) |
| Åpen kildekode-historikk | Blitz3D ble gjort til åpen kildekode på GitHub (blitz-research/blitz3d) av Mark Sibly i 2013; formatspesifikasjonen er dokumentert av Luanti-fellesskapet |
| Utgitt | 2001 (Blitz3D 1.0) |
| Siste versjon | No versioning after Blitz3D open-sourced; format spec frozen |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | docs.luanti.org |
B3D-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om B3D-filer.