Choosing the right runtime asset loading technology for RT3D projects

Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
Os projetos 3D em tempo real (RT3D) estão se tornando cada vez mais complexos, exigindo abordagens mais inteligentes para o gerenciamento de ativos e o carregamento em tempo de execução. Os desenvolvedores estão constantemente expandindo os limites do possível e, à medida que esses projetos crescem em complexidade e tamanho, garantir um desempenho impecável e uma experiência de usuário excepcional torna-se mais crucial do que nunca. Embora o Unity Asset Manager ofereça uma solução completa para organizar, gerenciar e otimizar seus ativos, os desenvolvedores ainda enfrentam o desafio de escolher a tecnologia certa para carregar ativos em tempo de execução.
Quer você esteja transmitindo conteúdo de uma rede de distribuição de conteúdo (CDN), carregando ativos locais dinamicamente ou gerenciando a memória por meio de ciclos de carga/descarga, escolher a tecnologia de carregamento de ativos correta é essencial para o sucesso do seu projeto.
O Unity oferece várias abordagens para o carregamento de recursos em tempo de execução, cada uma adaptada a necessidades específicas e objetivos do projeto. Este e-book tem como objetivo orientar os desenvolvedores sobre as opções disponíveis, comparando seus pontos fortes e ajudando-os a escolher a solução ideal para o seu projeto.
Entendendo o carregamento de recursos em tempo de execução
O carregamento de recursos em tempo de execução refere-se à forma como seu aplicativo carrega e descarrega conteúdo durante a execução. Isso pode significar:
- Baixando conteúdo novo de uma CDN
- Carregamento de ativos locais sob demanda
- Gerenciando a memória através da descarga de conteúdo não utilizado.
- Polígonos de fluxo progressivo
Vamos explorar as diferentes tecnologias de carregamento de ativos e alguns exemplos de projetos industriais em RT3D mais adequados para cada tecnologia.
Entendendo suas opções
O Unity oferece diversas abordagens para lidar com esses cenários, cada uma otimizada para diferentes casos de uso.
- AssetBundles/Addressables
- Criado especificamente para projetos Unity
- Compatível com todos os tipos de recursos do Unity.
- Geralmente, a melhor opção para aplicações Unity.
- onde o gerenciamento eficiente da memória é uma prioridade,
- onde os pacotes de DLC serão entregues via rede sem fio,
- e para jogos e aplicativos de serviço ao vivo com atualizações regulares de conteúdo (eventos sazonais, novos personagens, atualizações de produtos)
- glTF
- Solução independente de plataforma que não precisa ser alterada por um processo do Unity.
- Focado em conteúdo 3D puro
- Geralmente, é a melhor opção para todos os aplicativos de tempo de execução que exigem carregamento flexível de dados 3D nativos e compatibilidade entre plataformas.
- 3DDS (Streaming de Dados 3D do Unity )
- Solução independente de plataforma que permite a visualização de modelos 3D , como dados CAD e BIM.
- Geração e visualização com um clique no Unity Asset Manager
- Carrega apenas conteúdo relevante com a melhor qualidade.
- Geralmente, é a melhor opção para visualização em larga escala, onde os usuários podem explorar modelos muito complexos e detalhados em qualquer dispositivo, com carregamento progressivo.
À primeira vista, essas ferramentas podem parecer intercambiáveis. No entanto, cada um se destaca em cenários únicos, tornando-os mais adequados para casos de uso específicos. Escolher a tecnologia certa significa combinar os pontos fortes da ferramenta com as necessidades do seu projeto.
Fazer a escolha certa
A chave para selecionar a tecnologia certa está em compreender os requisitos específicos do seu projeto. Vamos analisar os fatores que devem influenciar sua decisão.

Com AssetBundles, você pode criar um aplicativo com uma cena quase vazia e carregar o restante do seu jogo ou aplicativo dinamicamente a partir daí.
Pacotes de ativos e Addressables
O pacote Addressables é um sistema nativo do Unity projetado para:
- Simplifique o carregamento de recursos em tempo de execução.
- Habilite o rastreamento de dependências, o versionamento de conteúdo, múltiplos caminhos de carregamento (local/remoto), a entrega pela rede e o armazenamento em cache.
AssetBundles é a tecnologia subjacente que lida com o empacotamento e carregamento de ativos em um nível mais baixo; Addressables é um sistema de alto nível construído sobre o AssetBundles que fornece uma interface mais amigável, gerenciamento automatizado de dependências e carregamento simplificado em tempo de execução. O AssetBundles se destaca no gerenciamento de conteúdo complexo de jogos. Ele também é otimizado para uma versão de compilação, versão do Unity e plataforma específicas. São ideais quando você precisa de:
- Suporte a múltiplos tipos de recursos, pois funciona com qualquer tipo de recurso, incluindo texturas, sons, cenas, prefabs e muito mais.
- Gerenciamento de dependências: o Unity resolve as dependências entre os recursos.
- Controle de versão
- Com o Addressables, você obtém um catálogo que rastreia as versões dos ativos e suas dependências, de modo que, ao atualizar o conteúdo, o sistema pode identificar exatamente quais pacotes precisam ser baixados novamente.
- Isso é particularmente útil para jogos online, nos quais você deseja disponibilizar atualizações de conteúdo (como pacotes sazonais ou eventos ao vivo) sem obrigar os jogadores a baixar o jogo inteiro novamente.
- Otimizado para Unity e específico para cada plataforma.
Caso de uso ideal:
Um jogo Unity que necessita de gerenciamento de memória eficiente e tempos de carregamento curtos, com múltiplos tipos de recursos e/ou com atualizações de conteúdo regulares. Os recursos otimizados não precisam ser compartilhados entre diferentes ambientes de execução.
Por que funciona: Você pode carregar conteúdo sob demanda por meio do "endereço" de um recurso ou por meio de uma AssetReference, e o sistema Addressables cuidará automaticamente do restante, independentemente de o conteúdo já estar armazenado em cache no dispositivo ou ainda hospedado remotamente em sua CDN. O ambiente de execução pode baixar novos pacotes de conteúdo sem exigir uma atualização completa do aplicativo. Os usuários finais recebem conteúdo sazonal novo, mantendo o desempenho e gerenciando a memória de forma eficiente.

O pacote Unity glTFast (com.unity.cloud.gltfast) suporta a importação e exportação de arquivos 3D glTF™, tanto em tempo de execução quanto dentro do Editor.
carregamento glTF
glTF e .GLB são essencialmente o mesmo formato, porém empacotados de maneiras diferentes: glTF é um formato baseado em texto com arquivos separados (texturas, dados binários, etc.), o que o torna ótimo para desenvolvimento e depuração, enquanto GLB agrupa tudo em um único arquivo binário, tornando-o mais eficiente para distribuição e carregamento em tempo de execução.
O glTF oferece uma solução simplificada para o carregamento de modelos 3D usando o pacote gratuito glTFast da Unity. Considere esta opção quando precisar de:
- Carregamento simples de modelos 3D
- Com GLBs, as dependências devem ser incorporadas ao arquivo no momento da exportação ou resolvidas manualmente.
- Compatibilidade entre plataformas
- Implementação rápida
- Suporte a formatos padrão que não dependem da versão ou plataforma do Unity .
Caso de uso ideal:
Um aplicativo simples para visualização de modelos, onde o carregamento rápido e o suporte a formatos padrão são prioridades. Se você precisar reutilizar um recurso em diferentes projetos RT3D, sem ter que recompilá-los, o GLB é a solução ideal. Um exemplo concreto é uma aplicação de comércio eletrônico onde um único usuário pode visualizar milhares de ativos.
Outro exemplo seriam projetos com conteúdo que pode ser personalizado pelos usuários, como avatares ou acessórios personalizados, e que exigem um formato padrão que possa ser criado com flexibilidade.
Por que funciona: GLB é o formato 3D da web. Os dados do GLB estão disponíveis em diversos pontos de contato.

Utilize o recurso de streaming de dados do Unity 3D para baixar dinamicamente apenas as partes relevantes de um modelo e torná-las visualizáveis em qualquer dispositivo, independentemente do tamanho do modelo.
3DDS (Transmissão de dados Unity 3D )
O Unity 3D Data Streaming é um serviço de streaming de polígonos que permite aos desenvolvedores transmitir ativos e ambientes 3D estáticos diretamente para os dispositivos dos usuários. Os dados são pré-processados no Unity Asset Manager usando a tecnologia Pixyz para otimizar automaticamente sua distribuição para o aplicativo em tempo de execução. O carregamento em tempo de execução também é gerenciado pela tecnologia gltFast da Unity.
Dentro do seu cliente, o pacote 3D Data Streaming permite que o modelo seja carregado implementando otimizações prontas para uso, reduzindo o consumo de memória do modelo à medida que ele se distancia da câmera, garantindo detalhes completos em close-up.
O 3DDS se destaca no processamento de modelos de grande escala e visualizações complexas, preservando todos os metadados das peças do seu modelo. É a escolha ideal para:
- Modelos CAD e BIM de grande porte
- Primeiro pixel instantâneo
- Requisitos de carregamento progressivo
- Fonte única de ativos / plataforma com múltiplos públicos-alvos
- Carregamento otimizado para memória por dispositivo alvo
- Navegação e estudo de hierarquias de modelos complexos
Caso de uso ideal:
Uma experiência de visita virtual aos seus modelos, que você nunca conseguiu exibir em um aplicativo em execução.
Um aplicativo de visualização e revisão arquitetônica ou de engenharia com acesso a metadados ou propriedades relacionados a modelos CAD ou BIM detalhados que não podem ser carregados integralmente devido à memória e aos recursos de renderização limitados de um dispositivo.
Tomando sua decisão
Se você estiver desenvolvendo um jogo com Unity, Addressables geralmente é a solução recomendada. Eis o motivo:
- Construído especificamente para o fluxo de trabalho de desenvolvimento do Unity.
- Otimizado para desempenho em tempo de execução
- Integrado ao gerenciamento de memória do Unity.
- Suporta dependências complexas de ativos.
- Gerencia vários tipos de ativos com eficiência.
Caso excepcional: Conteúdo gerado pelo usuário: Se o seu jogo envolver conteúdo gerado pelo usuário (como avatares ou itens personalizados), considere o GLB:
- O formato padrão torna a criação de conteúdo mais acessível.
- Melhor compatibilidade a longo prazo entre as versões do Unity .
- Integração facilitada com terceiros (ex.: avatares do ReadyPlayerMe)
Caso excepcional: Um jogo Unity baseado no Entity Component System (ECS) . Se você estiver aproveitando a arquitetura ECS do Unity, deverá usar o sistema de gerenciamento de conteúdo Entities para o gerenciamento de ativos em tempo de execução.
Para projetos industriais, a escolha depende mais de requisitos específicos.
Escolha GLB quando:
- Trabalhando com modelos 3D padrão
- É necessária compatibilidade entre plataformas.
- Gerenciamento de conteúdo enviado pelo usuário
- Necessita de atualizações independentes de plataforma
- É necessária estabilidade de formato a longo prazo.
Escolha 3DDS quando:
- Trabalhando com modelos CAD/BIM de grande porte
- É necessário carregamento progressivo
- É necessária a otimização da memória.
- Preservar hierarquias complexas e metadados é uma prioridade.
- É necessário um dimensionamento dinâmico da fidelidade.

Comece a usar o Asset Manager
O Unity Asset Manager ajuda você a organizar e preparar seus recursos antes da execução, criando um fluxo de trabalho eficiente para qualquer estratégia de carregamento que você escolher. Integrado ao Unity Editor e à solução de preparação de dados da Unity, o Pixyz , Asset Manager pode:
- Centralize seus recursos de origem desde a criação e iteração até o estado final.
- Transformar e preparar ativos para implantação em tempo de execução.
- Organize seus recursos de forma eficiente dentro do seu fluxo de trabalho no Unity Editor.
- Converter entre diferentes formatos de ativos
- Atua como um repositório de arquivos 3D em tempo real que podem ser consumidos em tempo de execução.
À medida que seu projeto cresce, o Asset Manager se adapta à sua licença do Unity Editor para fornecer recursos adicionais de armazenamento e gerenciamento.
Seja para preparar recursos para Asset Bundles, gerar arquivos glTF ou configurar o streaming 3DDS, o Unity Asset Manager ajuda você a manter a organização e o controle durante o desenvolvimento.
O Unity Asset Manager pode trazer dados diretamente para aplicativos em tempo de execução. Uma vez gerados os dados gLTF e 3DDS, eles podem ser revisados instantaneamente em tempo de execução, sem necessidade de tempo de compilação. Isso simplifica o processo para clientes industriais, permitindo que eles importem seus dados CAD e BIM diretamente para os aplicativos Unity .

Descubra mais
Se você quiser saber mais sobre as soluções do Unity Asset Manager , confira estes recursos:
- Baixe o pacote glTFast do Gerenciador de Pacotes da Unity instalando-o pelo nome: com.unity.cloud.gltfast
- Documentação de Addressables
- Documentação de streaming de dados 3D
Perguntas?
Compartilhe suas experiências e dúvidas sobre o carregamento de recursos no Unity. Participe das Unity Discussions .


