Bucle de Audios en Unreal Engine 5 y Pausar/Play a gusto

En Unreal, cuando mi jugador recibe un 75% de daño, se reproduce un sonido asociado . Sin embargo, tengo ciertos cristales que recuperan su vida, como por ejemplo este , y cuando el jugador los toca, obviamente ya no debe reproducirse el sonido, ya que ese sonido solo debe sonar cuando el jugador tiene un 25% de vida restante (es decir, ha perdido el 75%).

Problemas al Usar "Spawn Sound 2D" con Looping

Para reproducir sonidos en bucle, ya que este es un sonido que se repite continuamente, podemos importar el sonido, marcar la opción Looping, y en principio, podríamos usar el nodo llamado Spawn Sound 2D, el cual tiene métodos para iniciar o detener el audio:

Spawn sound 2D

El problema es que cuando el sonido ya está definido como en bucle, no siempre se puede detener correctamente; a mí, prácticamente nunca me funcionó. Por ejemplo, cuando tocaba el cristal para darle mas vida, quería que se detuviera el sonido del corazón que se escuchó antes, pero no era posible.

Solución: Usar un Componente de Audio

Debido a que la solución anterior no funciona al intentar detener la reproducción en bucle, lo que hice fue lo siguiente:

  • Simplemente, para el jugador, agregué un componente de audio. Buscas "Audio" y lo agregas; en mi caso, es justamente el que estás viendo en pantalla.
  • Luego, le asignas el audio que deseas reproducir, que en mi caso es ese que escuchaste, y activas la opción Looping. Por cierto, suena así.

En vez de emplear el nodo que no funcionaba (Spawn Sound 2D), lo que haces es simplemente referenciar el componente de audio: lo arrastras, y luego le invocas el método Play cuando quieras reproducir el audio, y el método Stop cuando lo quieras detener.

Audio Component

Detalle Importante: Desactivar Auto-Active

También recuerda desactivar la opción Auto-Active, para que no se inicie automáticamente cuando comience el juego. En mi caso, justamente eso era lo que quería, ya que solo deseo que el audio se inicie de forma programática cuando el jugador recibe daño.

Acepto recibir anuncios de interes sobre este Blog.

Veremos como podemos implementar un sistema de audio en bucle que podamos pausar y reiniciar a gusto.

- Andrés Cruz

In english