¿Qué es el formato de archivo B3D?
Un archivo .b3d es un formato de modelo 3D binario basado en fragmentos (chunks) desarrollado por Blitz Research Ltd para el SDK de juegos Blitz3D (lanzado en 2001). Almacena un grafo de escena completo en un solo archivo: geometría de malla, coordenadas UV, referencias de materiales y texturas, pesos de huesos esqueléticos y secuencias de animación por fotogramas clave.
El formato utiliza una estructura de fragmentos jerárquica. Cada fragmento comienza con una etiqueta ASCII de 4 caracteres y una longitud de datos de 4 bytes en formato little-endian. El fragmento raíz obligatorio BB3D envuelve los fragmentos TEXS (lista de nombres de archivos de textura), BRUS (definiciones de pinceles y materiales) y NODE. Los fragmentos NODE son recursivos, formando un árbol de escena de padre-hijo. Un nodo MESH contiene VRTX (búfer de vértices con posiciones, normales, UV y colores de vértices) y TRIS (matrices de índices de triángulos con asignaciones de materiales). Los fragmentos KEYS y ANIM definen secuencias de animación con nombre con fotogramas clave de posición, rotación y escala por nodo.
Blitz Research liberó el código fuente de Blitz3D en 2013. El formato ganó una segunda vida prominente como el formato de modelo 3D principal para Luanti (anteriormente Minetest), el motor de juegos de vóxeles de código abierto, lo que garantiza herramientas comunitarias activas mucho más allá del SDK original. El motor Irrlicht 3D también carga de forma nativa archivos .b3d. Blender puede importar .b3d a través de un complemento de la comunidad.
Para los flujos de trabajo de producción modernos, se prefieren glTF o FBX; .b3d sigue siendo ampliamente utilizado en las comunidades de modding de Luanti.
Seguridad y protección
RIESGO: LOWArchivo de modelo 3D binario; sin código ejecutable. No hay CVE conocidos para los analizadores B3D. Precaución normal al abrir archivos de fuentes desconocidas en motores de juegos.
Detalles del formato
en pocas palabras- BodyPaint 3D (MAXON) - La aplicación de pintura BodyPaint 3D de MAXON ha sido asociada con .b3d por algunas bases de datos, pero su formato nativo real es .c4d; .b3d no es un formato documentado de BodyPaint.
Programas que abren archivos B3D
Detalles técnicos
especificación profunda| Bytes mágicos | 42 42 33 44 («BB3D» ASCII) en el desplazamiento 0 - etiqueta de fragmento raíz obligatoria |
| Orden de bytes | Little-endian en todo el archivo |
| Estructura de fragmentos | Etiqueta ASCII de 4 caracteres + longitud de datos de 4 bytes en little-endian precede a cada carga útil de fragmento; los fragmentos son anidables a cualquier profundidad |
| Fragmento raíz | `BB3D` - contiene un entero de versión (mayor×100 + menor) y envuelve todos los fragmentos de contenido |
| Fragmento de textura | `TEXS` - lista ordenada de cadenas de rutas de archivos de textura referenciadas por índices de material |
| Fragmento de material | `BRUS` - definiciones de pinceles con color, brillo, modo de mezcla y referencias de índice de textura |
| Fragmentos de geometría | `MESH` → `VRTX` (posiciones de vértices, normales, UV, colores de vértices) + `TRIS` (matrices de índices de triángulos con asignación de material por triángulo) |
| Fragmentos de animación | `BONE` (pesos de vértices por hueso), `KEYS` (fotogramas clave de posición/rotación/escala por nodo), `ANIM` (secuencia con nombre con rango de fotogramas de inicio/fin) |
| Grafo de escena | Los fragmentos `NODE` son recursivos, admitiendo relaciones jerárquicas de pivote y transformación padre-hijo |
| Tamaño típico | 10 KB - 20 MB (desde un accesorio estático simple hasta un personaje complejo con secuencias de animación) |
| Compresión | Ninguna - todos los datos se almacenan como binario sin comprimir |
| Uso activo principal | Motor de vóxeles de código abierto Luanti (anteriormente Minetest) - `.b3d` es el formato recomendado para modelos de entidades y NPC en los mods de Luanti |
| Soporte de motores | Motor Irrlicht 3D (nativo); Blitz3D de código abierto (anfitrión original); Blender (complemento de importación de la comunidad) |
| Historia del código abierto | Blitz3D fue liberado en GitHub (blitz-research/blitz3d) por Mark Sibly en 2013; la especificación del formato fue documentada por la comunidad de Luanti |
| Lanzado | 2001 (Blitz3D 1.0) |
| Última versión | No versioning after Blitz3D open-sourced; format spec frozen |
| Estándar abierto | Sí · libre de regalías |
| Especificación | docs.luanti.org |
Conversiones de B3D
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos B3D.