For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cargar recursos previamente

La precarga de recursos permite descargar assets al inicio de la scene para que estén listos cuando el player interactúe con ellos por primera vez.

En algunos casos, se agrega un asset a la scene pero no se usa de inmediato. Por ejemplo, un archivo de sonido puede reproducirse solo cuando el player presiona un button. En este escenario, la primera vez que el player presiona el button, el audio puede reproducirse un par de segundos tarde, porque el archivo solo se descarga cuando se necesita.

Para evitar este problema, usa el AssetLoad component para asegurar que estos assets se descarguen y estén listos para usar 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 enumerados en el AssetLoad component se descargan y se agregan a la memoria, lo que garantiza que estén disponibles al instante cuando la scene necesite cargarlos.

Algunas consideraciones importantes:

  • Puedes colocar el AssetLoad component en cualquier entity (no solo en RootEntity), y puedes usarlo en tantas entities como sea necesario. Esto puede ser útil para manejar estados de carga separados para distintos niveles o regiones de tu scene.

  • El AssetLoad component se usa para agregar assets a la memoria, no para eliminarlos. Quitar un asset de la lista en AssetLoad.create no liberará memoria.

  • Si un asset se usa inmediatamente cuando la scene carga (por ejemplo, un modelo GLB colocado en la scene, o un sonido de fondo que se reproduce continuamente), no es necesario usar el AssetLoad component, ya que ya se está descargando.

  • Ten cuidado al agregar assets a AssetLoad.create, y solo precarga assets que no sean necesarios al iniciar la scene para evitar costos de rendimiento innecesarios.

  • Solo puedes precargar assets que estén subidos como parte de los archivos de la scene. Esta función no funcionará para precargar imágenes desde una URL externa

Última actualización