Pre-cargar recursos

La pre-carga de recursos permite que los assets se descarguen al iniciar la escena para que estén listos cuando el jugador interactúe con ellos por primera vez.

En algunos casos, se añade un asset a la escena pero no se usa de inmediato. Por ejemplo, un archivo de sonido puede reproducirse solo cuando el jugador pulsa un botón. En este escenario, la primera vez que el jugador pulsa el botón, el audio puede reproducirse con un retraso de un par de segundos, porque el archivo solo se descarga cuando es necesario.

Para evitar este problema, utiliza el AssetLoad componente para asegurar que estos assets se descarguen y estén listos para usarse antes de que se necesiten.

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

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

Los assets listados en el AssetLoad componente se descargan y se añaden a la memoria, asegurando que estén disponibles instantáneamente cuando la escena necesite cargarlos.

circle-info

Nota: Puedes colocar el AssetLoad componente en cualquier entidad (no solo en RootEntity), y puedes usarlo en tantas entidades como sea necesario. Esto puede ser útil para manejar estados de carga separados para diferentes niveles o regiones de tu escena.

El AssetLoad componente se usa para añadir assets a la memoria, no para eliminarlos. Quitar un asset de la lista en AssetLoad.create no liberará memoria.

circle-info

Nota: Si un asset se usa inmediatamente cuando la escena se carga (por ejemplo, un modelo GLB colocado en la escena, o un sonido de fondo que suena continuamente), no es necesario usar el AssetLoad componente, ya que ya se está descargando.

Sé cauto al añadir assets a AssetLoad.create, y solo precarga assets que no se requieran al inicio de la escena para evitar costes de rendimiento innecesarios.

Última actualización