Pré-carregar Recursos

O pré-carregamento de recursos permite que assets sejam baixados na inicialização da cena para que estejam prontos quando o jogador interagir com eles pela primeira vez.

Em alguns casos, um asset é adicionado à cena, mas não é usado imediatamente. Por exemplo, um arquivo de som pode ser reproduzido somente quando o jogador pressiona um botão. Nesse cenário, na primeira vez que o jogador pressiona o botão, o áudio pode tocar com alguns segundos de atraso, porque o arquivo só é baixado quando necessário.

Para evitar esse problema, use o AssetLoad component para garantir que esses assets sejam baixados e estejam prontos para uso antes de serem necessários.

import { AssetLoad } from "@dcl/sdk/ecs"

AssetLoad.create(engine.RootEntity, {
  assets: [
    "assets/scene/bundle1/explosionSound.mp3",
    "assets/scene/bundle1/explosion.glb",
  ],
})

Os assets listados no AssetLoad component são baixados e adicionados à memória, garantindo que estejam instantaneamente disponíveis quando a cena precisar carregá-los.

circle-info

Nota: Você pode colocar o AssetLoad component em qualquer entity (não apenas no RootEntity), e pode usá-lo em quantas entities forem necessárias. Isso pode ser útil para lidar com estados de carregamento separados para diferentes níveis ou regiões da sua cena.

O AssetLoad component é usado para adicionar assets à memória, não para removê-los. Remover um asset da lista em AssetLoad.create não liberará memória.

circle-info

Nota: Se um asset for usado imediatamente quando a cena carrega (por exemplo, um modelo GLB colocado na cena, ou um som de fundo que toca continuamente), não há necessidade de usar o AssetLoad component, já que ele já está sendo baixado.

Tenha cuidado ao adicionar assets a AssetLoad.create, e pré-carregue apenas assets que não são necessários na inicialização da cena para evitar custos de performance desnecessários.

Atualizado