Voltar ao blog
Formatos

Basis Universal: o guia completo para compactação de textura universal

15 minutos de leitura

Basis Universal é um revolucionário sistema de compressão de texturas que resolve um dos maiores desafios no desenvolvimento gráfico multiplataforma: gerenciar diferentes formatos de compressão de texturas em diversas plataformas e dispositivos. Desenvolvido pela Binomial LLC e agora mantido como um projeto de código aberto, o Basis Universal fornece um único formato de arquivo de textura compactado que pode ser transcodificado em tempo de execução para qualquer formato de compactação GPU nativo.

O que é Base Universal?

Basis Universal é um sistema de compactação de textura GPU 'supercompactado' que produz arquivos de textura intermediários altamente compactados. Esses arquivos podem ser transcodificados rapidamente em tempo de execução para qualquer formato compactado por GPU compatível com a plataforma de destino, incluindo ETC1, ETC2, ASTC, BC1-7 e PVRTC.

A principal inovação do Basis Universal é sua capacidade de armazenar dados de textura em um formato independente de plataforma e, em seguida, transcodificá-los para o formato nativo ideal para o dispositivo de destino. Isso significa que os desenvolvedores podem enviar um único arquivo de textura que funciona em qualquer lugar, de telefones celulares a computadores desktop e consoles de jogos.

O Basis Universal oferece suporte a dois modos de compactação principais: ETC1S (para compactação máxima) e UASTC (para qualidade mais alta). Ambos os modos oferecem excelentes taxas de compressão, mantendo a qualidade visual adequada para aplicações gráficas modernas.

Principais recursos do Base Universal

Transcodificação Universal

Um único arquivo compactado pode ser transcodificado para qualquer formato GPU nativo (ETC1/2, ASTC, BC1-7, PVRTC) em tempo de execução

Alta taxa de compressão

O modo ETC1S oferece taxas de compressão excepcionais (até 10:1 ou melhor) com boa qualidade visual

Modo UASTC

A compactação UASTC (Universal ASTC) oferece qualidade competitiva com os formatos BC7 e ASTC

Transcodificação rápida

A transcodificação em tempo de execução é extremamente rápida (normalmente milissegundos por textura) com sobrecarga mínima de memória

Modos básicos de compressão universal

Basis Universal oferece dois modos de compactação distintos, cada um otimizado para diferentes casos de uso:

Modo ETC1S

Fornece taxas de compactação muito altas, normalmente compactação de 6:1 a 10:1 com boa qualidade visual. Ideal para a maioria das texturas difusas, elementos de interface do usuário e conteúdo onde o tamanho do arquivo é mais importante do que a fidelidade visual perfeita.

Melhor para: aplicativos móveis, conteúdo da web, texturas difusas, elementos de UI

Modo UASTC

Fornece qualidade visual superior comparável ou melhor que BC7 e ASTC, com taxas de compressão de 3:1 a 4:1. Ideal para texturas de alto detalhe, mapas normais e conteúdo onde a qualidade visual é fundamental.

Melhor para: mapas normais, texturas detalhadas, recursos de heróis, aplicativos de PC/console

Fluxo de trabalho universal básico

O fluxo de trabalho típico do Basis Universal envolve três etapas principais:

1. Compressão de Fonte

Compacte texturas de origem (PNG, TGA, etc.) em arquivos .basis usando o modo ETC1S ou UASTC. Isso normalmente é feito durante o processo de criação de ativos.

2. Transcodificação em tempo de execução

Na inicialização do aplicativo ou no momento do carregamento, transcodifique os arquivos .basis para o formato nativo ideal para a plataforma de destino (ETC2 para Android, ASTC para iOS, BC7 para Windows, etc.).

3. Renderização de GPU

Use os dados de textura transcodificados diretamente com o hardware de compactação de textura nativo da GPU, garantindo desempenho ideal.

Vantagens da Base Universal

Pipeline de ativo único

Elimine a necessidade de manter múltiplas versões de formato de textura para diferentes plataformas

Tamanho reduzido do pacote

Pacotes de aplicativos significativamente menores em comparação com o envio de variantes de vários formatos

Menor uso de largura de banda

Downloads mais rápidos e uso reduzido de dados, especialmente importante para aplicativos web e móveis

Flexibilidade da plataforma

Direcione facilmente novas plataformas sem recomprimir texturas de origem

Limitações e considerações

Sobrecarga de transcodificação

Requer transcodificação em tempo de execução, o que adiciona um pequeno custo de desempenho durante o carregamento de texturas

Perda de compressão

Como toda compactação com perdas, há alguma perda de qualidade em comparação com texturas não compactadas

Requisitos de memória

A transcodificação requer memória temporária para dados compactados e transcodificados

Complexidade de integração

Requer integração de bibliotecas Basis Universal e código de transcodificação em tempo de execução

Casos de uso ideais

Aplicativos WebGL

Perfeito para aplicativos 3D baseados na Web, onde a implantação de arquivo único e o carregamento rápido são essenciais

Móvel multiplataforma

Ideal para aplicativos móveis voltados para Android e iOS com um único pipeline de textura

Jogos Web3 e Blockchain

Excelente para jogos baseados em blockchain onde o tamanho dos ativos e a velocidade de transferência são cruciais

Jogos multiplataforma

Simplifica o gerenciamento de ativos para jogos direcionados a diversas plataformas e lojas de aplicativos

Base Universal vs Outros Formatos

Como o Basis Universal se compara às abordagens tradicionais:

Abordagem Tradicional

Envie variantes de vários formatos (ETC2 para Android, ASTC para iOS, BC7 para Windows) → Tamanho de pacote maior, pipeline de ativos complexo

Abordagem Universal Básica

Envie arquivos .basis únicos → Transcodificação de tempo de execução para o formato ideal → Pacotes menores, pipeline mais simples

Armazenamento: redução de 50-80% nos requisitos de armazenamento de texturas

Largura de banda: redução de 50-90% na largura de banda de download

Tempo de compilação: compilações mais rápidas com uma única etapa de compactação

Qualidade: qualidade visual comparável aos formatos nativos

Melhores Práticas

  • Use o modo ETC1S para a maioria das texturas difusas e elementos de UI onde o tamanho do arquivo é importante
  • Use o modo UASTC para mapas normais, texturas detalhadas e recursos de heróis onde a qualidade visual é crítica
  • Transcodifique texturas durante o carregamento de ativos, em vez de na inicialização do aplicativo, para evitar bloqueio
  • Considere os formatos de compactação da plataforma de destino ao escolher entre os modos ETC1S e UASTC
  • Teste texturas transcodificadas em plataformas de destino para garantir que a qualidade visual atenda aos requisitos
  • Armazene texturas transcodificadas em cache quando possível para evitar transcodificação repetida dos mesmos ativos

Conclusão

Basis Universal representa um avanço significativo na tecnologia de compressão de texturas, resolvendo o antigo problema de gerenciamento de múltiplos formatos de textura em diferentes plataformas. Sua abordagem de transcodificação universal oferece benefícios técnicos e comerciais, desde tamanhos de pacotes reduzidos até pipelines de ativos simplificados.

Para aplicativos multiplataforma, experiências baseadas na Web e cenários onde o tamanho do download e a largura de banda são críticos, o Basis Universal oferece uma solução atraente que não compromete a qualidade visual ou o desempenho. À medida que a indústria gráfica continua avançando em direção ao desenvolvimento multiplataforma, ferramentas como o Basis Universal se tornarão cada vez mais essenciais para o gerenciamento eficiente de texturas.

Leitura adicional e recursos

Expanda seu conhecimento com estes recursos confiáveis:

Experimente nossas ferramentas