Con el lanzamiento de la versión 4.8 de Unreal Engine, la reproducción de audio se volvió mucho más fácil para los juegos 2D con la incorporación de PlaySound2D. En esta sección vamos a aprender cómo importar y reproducir archivos de audio en Unreal Engine. Para el controlador de la aplicación, creé una interfaz de usuario simple que activa la reproducción de audio. Si no está familiarizado con la creación de una interfaz de usuario con UMG (Unreal Motion Graphics), asegúrese de lee el tutorial anterior.
Como siempre hay una versión en video HD de este tutorial disponible aquí.
Vamos a crear una interfaz de usuario simple para activar eventos de audio:
Simplemente conectaremos cada botón para disparar nuestros ejemplos. También necesitaba varias muestras de audio. Personalmente descargué cada uno de freesound.org.
Importación de archivos de audio
Primero necesitamos algo de audio con el que trabajar. Entonces… ¿qué archivos de audio funcionan con Unreal Engine? Mp3, mp4, ogg? No… WAV. Puede importar sus archivos de sonido en el formato que desee, siempre que sea wav. No se preocupe, esto no es un obstáculo tan grande como parece, ya que Unreal simplemente se encarga de los pasos de compresión y conversión necesarios para usted. Entonces, el hecho de que su banda sonora tenga un tamaño de 10 MB no es tan condenatorio como parece, ya que Unreal se encargará de las conversiones requeridas por usted. Estar en un formato fuente sin comprimir permite que Unreal ofrezca mucha potencia, como verá en breve. También sortea una serie de problemas de licencia, como el campo minado de patentes que es mp3. Si sus archivos de origen no están en formato wav, puede convertirlos fácilmente usando el completamente increíble y disponible gratuitamente. Editor de sonido Audacity.
Sus archivos WAV pueden estar en formato PCM, ADPCM o DVI ADPCM, aunque si usa los valores predeterminados, lo más probable es que no tenga que preocuparse por este detalle. Deben ser de 16 bits, formato little endian (de nuevo… generalmente no te preocupes) sin comprimir a cualquier tasa de bits. Sin embargo, se recomiendan 22 khz y 44,1 khz, siendo la última la velocidad de bits a la que se codifica el audio con calidad de CD. Sus archivos de audio pueden ser mono (un solo canal) o estéreo (dos canales), además puede importar hasta 8 canales de audio (generalmente 8 archivos WAV mono) a sonido envolvente 7.1 codificado. Esto está mucho más allá del alcance de lo que cubriremos, pero hay más detalles sobre la codificación 7.1 se puede encontrar aquí. Importar audio es tan simple como usar el botón Importar en el Navegador de contenido, o simplemente arrastrar y soltar.
Una vez importado, puede hacer doble clic en su recurso de audio para que aparezca el editor.
Aquí puede configurar una serie de propiedades, incluida la cantidad de compresión, si se realiza un bucle, el tono e incluso agregar información de subtítulos. Sin embargo, no hay nada que necesitemos modificar en este momento. He importado un par de archivos wav de formato mono diferentes, así:
Y creó un botón simple para reproducir el audio cuando se presiona:
Reproducción de sonidos
Ahora conectemos el evento OnClick para reproducir Thunder.wav, con el siguiente plano:
Sí… eso es todo lo que necesita hacer, colocar una función Reproducir sonido 2D, elegir el archivo Wave para reproducir y listo. Antes de la versión 4.8, la única opción era Reproducir sonido en la ubicación, que es prácticamente idéntica pero también requería un componente de Posición. Puedes lograr el mismo efecto de esta manera:
Tanto Play Sound at Location como Play Sound 2D son fuego y olvido, en el sentido de que no tiene control sobre ellos una vez que el sonido ha comenzado a reproducirse (excepto a nivel global, como silenciar todo el audio). Tampoco se mueve con el actor.
¿Qué sucede si desea que el audio provenga de un nodo de la escena o se mueva con él? Esto también es posible. Primero, creemos un personaje de Paper2D para adjuntar el componente de audio. Este proceso fue cubierto en este tutorial en caso de que necesite un repaso. No olvides crear un GameMode también y configurar tu controlador recién creado para que esté activo.
Uso del componente de audio
Creé esta jerarquía de un personaje:
¿Observe el componente de audio que he agregado? Hay varias propiedades que se pueden configurar en el panel Detalles para el componente de audio, pero la más importante es el sonido.
Seguí adelante y adjunté mi «música» Sound Wave. Puede configurar el archivo de música para que se reproduzca automáticamente usando la propiedad Activación:
También hay un evento disponible que se activará cuando su archivo de audio haya terminado de reproducirse.
A diferencia de PlaySound2D, este sonido no es disparar y olvidar. También se puede cambiar dinámicamente usando el siguiente Blueprint:
Este plano encuentra el componente de audio de nuestro peón y luego configura su sonido mediante una llamada a Reproducir sonido adjunto. Como puede ver, hay varias propiedades disponibles para configurar y puede posicionar fácilmente el audio en el mundo.
Como mencioné anteriormente, también puede manipular una onda de sonido en ejecución cuando se conecta como un componente de audio, así:
Paradójicamente, en realidad no parece haber un método para conseguir el volumen actual. La solución obvia es mantener el volumen como variable y pasarlo a Ajustar nivel de volumen.
señales de sonido
Hasta ahora solo hemos usado archivos Sound Wave importados directamente, pero en cada ubicación en la que usamos una onda, también podríamos haber usado una señal. Como verá, las Cues le brindan una enorme cantidad de control sobre su audio.
Comience creando un nuevo objeto Sound Cue:
Nómbrelo y luego haga doble clic para que aparezca el editor de Sound Que:
Esto va mucho más allá del alcance de este tutorial, pero esencialmente puede crear sonidos complejos a partir de los nodos de sonido, como este gráfico simple que mezcla dos sonidos:
Nuevamente, cualquiera de las funciones anteriores, como Play Sound 2D, tomará una Cue en lugar de una Wave.
Solo hemos arañado la superficie de la funcionalidad de audio integrada en Unreal Engine, pero esto debería ser más que suficiente para que comiences en 2D.