ANTES DE PUBLICAR
Compressão GLB e compatibilidade de visualizadores
A extensão GLB não garante que todo aplicativo consiga carregar o conteúdo. Confira as extensões usadas no resultado e teste no destino.
Combine as configurações com o carregador
| Configuração | Requisito de carregamento |
|---|---|
| Conservadora | Suporte à quantização da geometria; transformações de textura também podem ser usadas. |
| Meshopt padrão / alto | Suporte ao decodificador de EXT_meshopt_compression. |
| Texturas KTX2 | Suporte a KHR_texture_basisu e um transcodificador Basis. |
| Texturas WebP | Suporte a EXT_texture_webp e decodificação WebP. |
Esses requisitos podem se combinar. O painel do resultado informa a compatibilidade da saída. Nossa prévia inclui decodificadores; uma prévia correta não prova que seu aplicativo os tenha configurados.
As predefinições usam quantização de geometria por padrão. Desativá-la pode remover esse requisito, mas Meshopt e texturas convertidas ainda precisam dos carregadores correspondentes. Confira as extensões informadas para o resultado real.
Usando Three.js
Para geometria comprimida com Meshopt, registre o decodificador com GLTFLoader.setMeshoptDecoder(). Para texturas KTX2, configure KTX2Loader, detecte o suporte do renderizador e associe-o com setKTX2Loader(). Disponibilize os arquivos correspondentes do transcodificador junto com a aplicação e consulte a documentação da sua versão do Three.js.
documentação do GLTFLoader · documentação do KTX2Loader
Exemplo: o original carrega, mas a exportação Arquivo menor não
Mantenha as texturas originais e exporte a mesma origem duas vezes: uma com Conservadora e outra com Arquivo menor. Se apenas o segundo arquivo falhar na sua aplicação, confira as extensões informadas e o erro do carregador antes de alterar a geometria. Essa comparação ajuda a localizar o problema em um requisito de carregamento que mudou; ela não prova que toda falha seja causada pela falta de um decodificador.
Para um resultado com EXT_meshopt_compression no Three.js, registre MeshoptDecoder antes do carregamento. Depois, tente abrir novamente o mesmo arquivo exportado. Se não for possível alterar a aplicação de destino, exportar novamente sem compressão é uma alternativa, embora possa aumentar o tamanho do download.
Exemplo: as texturas originais funcionam, mas KTX2 falha após a implantação
Mantenha as configurações de geometria e compare as texturas originais com KTX2. Em uma aplicação Three.js, verifique se KTX2Loader está associado e se detectSupport foi executado. Inspecione as requisições de basis_transcoder.js e basis_transcoder.wasm. Uma resposta 404 ou uma página HTML da aplicação nesses endereços indica um problema na entrega dos arquivos, não na qualidade da textura.
Após corrigir o carregador ou o caminho dos arquivos, teste novamente a mesma saída KTX2, inclusive em um dispositivo móvel de destino. Um arquivo que abre na prévia deste site atende à configuração deste visualizador; o visualizador em produção ainda precisa cumprir seus próprios requisitos de carregamento.
Nomes, extras e comportamento da cena
As três opções de preservação ficam ativadas por padrão. Mantenha-as assim quando sua aplicação localizar objetos ou materiais pelo nome ou ler extras. Elas não garantem índices de nós, hierarquia, amostras de animação ou atributos personalizados idênticos. A otimização pode unir ou reorganizar dados e alterar a precisão.
Teste seleção, mudanças de material, reprodução de animação, morph targets e transformações de objetos na aplicação real. Preservar extras não preserva extensões personalizadas arbitrárias.
Restrições de entrada
Este serviço rejeita entradas comprimidas com Draco, recursos externos e extensões obrigatórias não suportadas. Extensões opcionais desconhecidas podem ser descartadas. Quando necessário, exporte da aplicação de origem um GLB sem compressão e com recursos incorporados.
Para consultar as extensões e o comportamento de otimização do mecanismo, veja a documentação oficial do gltfpack. O serviço web aplica validações e limites de recursos adicionais.
Carregar modelos gltfpack no Three.js →
Abrir o otimizador ↗