Sonidos

Aprende cómo agregar sonidos a tu escena.

El sonido es una gran manera de proporcionar retroalimentación a las acciones y eventos del jugador; los sonidos de fondo también pueden brindar más contexto a tu escena y mejorar la inmersión del jugador en ella.

circle-exclamation

Los formatos de sonido compatibles varían según el navegador, pero se recomienda usar .mp3.

.wav los archivos también son compatibles, pero generalmente no se recomiendan ya que son significativamente más pesados.

Reproducir sonidos

La forma más fácil de reproducir un sonido es añadir un Audio Source componente visualmente en el Scene Editor in Creator Hubarrow-up-right y configurarlo en Start Playing y Loop. Ver Add Componentsarrow-up-right.



También puedes activar la reproducción de un sonido de forma no code mediante Actions, ver Make any item smartarrow-up-right.

Para reproducir un sonido mediante código, usa la función AudioSource.playSound .

El archivo de sonido debe estar dentro de la carpeta del proyecto. En el ejemplo anterior, el archivo de audio se encuentra en una assets/sounds carpeta, que está ubicada en el nivel raíz de la carpeta del proyecto de la escena.

circle-exclamation

La AudioSource.playSound() función toma los siguientes argumentos:

  • entity: En qué entity aplicar el sonido. El sonido se escuchará desde la posición de esta entity, lo que significa que se vuelve más fuerte a medida que el jugador se acerca.

  • src: La ubicación del archivo de sonido dentro de tu proyecto.

circle-info

💡 Tip: Para mayor claridad, recomendamos mantener tus archivos de sonido separados en una assets/sounds folder inside your scene.

  • resetCursor: (optional) Si es true, el sonido siempre comienza desde el principio. De lo contrario, continúa desde la posición actual del cursor. Útil para pausar y reanudar.

Otra forma de reproducir sonidos es crear manualmente un AudioSource componente en una entity. Usa este enfoque para tener más control sobre el sonido, por ejemplo para hacerlo loop o ajustar el volumen.

Se pueden establecer las siguientes propiedades:

  • audioClipUrl: La ubicación del archivo de sonido dentro de tu proyecto.

  • playing: Si es true, el sonido empieza a reproducirse. Puedes crear un sonido con playing set to false, and then set it to true at a later time.

  • volume: (optional) El volumen del archivo de sonido. 1 por defecto, que es volumen completo.

  • pitch: (optional) Modifica la tonalidad de un sonido. 1 es el valor por defecto; hazlo menor para un sonido más grave y mayor para un sonido más agudo.

circle-info

💡 Tip: Para evitar que un efecto de sonido se vuelva demasiado repetitivo durante un juego, es útil aleatorizar pequeñas variaciones en el pitch del sonido cada vez que se reproduce.

  • currentTime: (optional) 0 por defecto. Establece este valor para evitar comenzar desde el principio del archivo de sonido.

Cada entity solo puede tener un único AudioSource componente, que solo puede reproducir un clip a la vez. Esta limitación puede superarse fácilmente modificando la fuente de audio en el momento de reproducir un nuevo sonido, o incluyendo múltiples child entities invisibles, cada una con su propio sonido.

circle-exclamation

Pre Carga de un Sonido

Si una entity usa un sonido, pero no se reproduce inmediatamente en el tiempo de ejecución de la escena, puede tardar un poco en descargarse. Puede estar disponible en el tiempo de ejecución de la escena usando el AssetLoad componente.

Para más información, consulta la documentación de Pre Load Resourcesarrow-up-right .

Detener sonidos

Para detener que una entity reproduzca su sonido, usa la función AudioSource.stopSound() . Solo necesitas especificar la entity, ya que cada entity tiene un único AudioSource componente, y cada AudioSource componente reproduce un solo archivo a la vez.

Otra forma de detener un sonido es establecer la propiedad playing a false.

Looping

Para mantener un sonido reproduciéndose en un bucle continuo, establece el campo loop del AudioSource componente en true antes de empezar a reproducirlo.

Los sonidos en loop son especialmente útiles para añadir música de fondo u otros sonidos ambientales.

Ajustar volumen

Puedes establecer la propiedad volume del AudioSource componente para cambiar el volumen de un sonido.

El volumen se expresa como un número de 0 a 1.

circle-exclamation

Sonidos globales

Por defecto, todos los sonidos de un AudioSource son posicionales. Esto significa que parecen generarse desde la posición del componente Transform , y sonarán más fuerte a medida que el jugador se acerque. Pero también puedes configurar un sonido para que sea global, de modo que el volumen sea constante, sin importar dónde esté el jugador. Esto es ideal para música de fondo, sonidos de notificación y otros sonidos no posicionales.

circle-exclamation

Para hacer un sonido global, establece la propiedad global a true.

Reproducir un segmento de un sonido

Para reproducir un segmento de un archivo de sonido más largo, usa la función playSoundSegment() en la librería SDK Utils. Ver SDK7 Utilsarrow-up-right.

También puedes lograr esto estableciendo explícitamente la propiedad currentTime en un AudioSource componente, y luego deteniéndolo después de esperar un periodo de tiempo.

Audio streaming

Ver Audio streamingarrow-up-right para aprender cómo puedes reproducir una transmisión de audio en vivo desde una fuente externa.

Última actualización