O que é o formato de ficheiro GLB?
.glb é a forma de contêiner binário do formato .gltf (GL Transmission Format), desenvolvido e mantido pelo Khronos Group. Enquanto um arquivo .gltf é um JSON simples que referencia arquivos de geometria .bin externos e ativos de imagem separados, um arquivo .glb agrupa tudo - o JSON do grafo de cena, buffers binários de geometria e animação, e texturas incorporadas - em um único arquivo independente.
O arquivo começa com um cabeçalho little-endian de 12 bytes: a string mágica ASCII glTF (hex 67 6C 54 46), um campo de versão uint32 (valor 2 para glTF 2.0) e um uint32 para o comprimento total do arquivo. Seguindo o cabeçalho, há blocos (chunks) prefixados pelo comprimento: um bloco JSON que carrega a descrição da cena (nós, materiais, câmeras, animações) e um bloco BIN\ que contém os dados brutos do buffer binário.
.glb é às vezes chamado de «o JPEG do 3D» devido ao seu tamanho compacto, amplo suporte e adequação para entrega na web. É o formato de ativo padrão para AR no Android via Scene Viewer e o componente web <model-viewer>, sendo amplamente utilizado em mecanismos WebGL como three.js e Babylon.js. Comparado ao .fbx ou .obj, ele é construído especificamente para renderização em tempo real com materiais baseados em física (PBR) integrados.
Extensões opcionais da Khronos adicionam compressão de malha Draco (KHR_draco_mesh_compression) e compressão de textura KTX2/Basis Universal (KHR_texture_basisu), reduzindo significativamente o tamanho dos arquivos para cenas grandes.
Segurança e proteção
RISCO: LOWUm GLB contém dados 3D, não é um executável, portanto, abri-lo para visualização é seguro. As precauções realistas não são maliciosas: digitalizações com contagem de polígonos muito alta ou texturas 4K podem ser pesadas para carregar, e historicamente houve vulnerabilidades de analisador em alguns carregadores glTF/GLB - mantenha seu software 3D e visualizadores baseados em navegador atualizados e importe modelos de fontes confiáveis. Como sempre, verifique a extensão real: um arquivo disfarçado como «model.glb» que na verdade é um executável é o risco real, não o formato GLB em si.
Detalhes do formato
em resumo- Arquivo de suporte Raptor: Call of the Shadows - Um arquivo de dados legado para o jogo de DOS de 1994 Raptor; o banco de dados de origem rotula incorretamente isso como o significado principal de .glb, mas ele é obsoleto e não relacionado ao formato dominante glTF Binary.
- Arquivo de dados/globo Analytical Graphics STK - Um arquivo auxiliar GIS/STK mais antigo; muito nichado em comparação com o significado de glTF Binary 3D.
Programas que abrem arquivos GLB
Detalhes técnicos
especificação profunda| Assinatura do arquivo (magic bytes) | ASCII "glTF" no deslocamento de byte 0 (hex: 67 6C 54 46) |
| Ordem dos bytes | Little-endian em todo o arquivo |
| Tamanho do cabeçalho | 12 bytes: magic de 4 bytes + uint32 da versão (valor 2) + uint32 do comprimento total do arquivo |
| Estrutura de blocos (chunks) | Bloco JSON (tipo 0x4E4F534A) seguido pelo bloco BIN (tipo 0x004E4942); cada um prefixado com uint32 para comprimento e uint32 para tipo do bloco |
| Tipo MIME | model/gltf-binary (também servido como application/octet-stream) |
| Codificação | Contêiner binário envolvendo descrição de cena em JSON UTF-8 + buffers binários brutos de geometria/animação |
| Compressão | Nenhuma por padrão; compressão de malha Draco opcional via KHR_draco_mesh_compression e texturas KTX2/Basis Universal via KHR_texture_basisu |
| Modelo de material PBR | Sombreamento metallic-roughness baseado em física definido no bloco JSON; specular-glossiness via KHR_materials_specular |
| Suporte a animação | Animações de quadro-chave (keyframes) para translação, rotação, escala e pesos de morph-target; animação esquelética/skinning via hierarquias de articulações |
| Profundidade de cor da textura | 8 bpc (RGB de 24 bits ou RGBA de 32 bits via JPEG ou PNG incorporado); mapas de ambiente HDR via extensões |
| Limite de tamanho de textura | Sem limite imposto pelo formato; limitado pela GPU na prática (comumente até 8192×8192 por textura) |
| Independência (Self-containment) | Toda a geometria, texturas, animações e grafo de cena agrupados em um único arquivo; sem dependências externas, ao contrário de .gltf + .bin + arquivos de imagem |
| Campo de versão | uint32 no cabeçalho GLB identifica glTF 2.0 (valor 2); asset.version = "2.0" também presente dentro do bloco JSON |
| Tamanho de arquivo típico | 50 KB - 100 MB; a maioria dos ativos para web e AR fica na faixa de 1-30 MB |
| Suporte de plataforma | Windows, macOS, Linux, Android, iOS e Web (WebGL via three.js, Babylon.js, model-viewer) |
| Criptografia / integridade | Sem criptografia ou checksum integrados; apenas campo de comprimento total no cabeçalho |
| Lançado | 2017 (glTF 2.0; GLB binary container) |
| Versão mais recente | glTF 2.0 (GLB container, ratified by Khronos; ongoing extensions e.g. KHR_materials_*) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | registry.khronos.org |
Conversões de GLB
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos GLB.