¿Cómo crear efectos de sonido dinámicos?

Tutorial

Beginner

+10XP

35 mins

Unity Technologies

¿Cómo crear efectos de sonido dinámicos?

En este tutorial, comenzarás el proceso de creación de un entorno sonoro complejo al agregar efectos de sonido de pasos al personaje jugador. Al finalizar este tutorial, podrás hacer lo siguiente:

  • Elegir métodos basados en el tiempo o en la acción, como desencadenadores o eventos para reproducir clips de audio.
  • Explicar el papel del audio en el desarrollo de la atmósfera.

Languages available:

1. Descripción general

Como establecimos antes, el audio es muy importante para dar una sensación de credibilidad a tus experiencias digitales. Si no has completado la misión de audio de los Aspectos básicos de Unity o te gustaría actualizar tus conocimientos, puede ser útil hacerlo antes de continuar. Puedes encontrar la misión Aspectos básicos de audio aquí.

El audio es un área de desarrollo emocionante. Escuchemos algunas ideas de nuestros creadores sobre la creación de audio para experiencias en 3D en tiempo real.

A pesar de su importancia, el audio a menudo se pasa por alto. Como creadores, es fácil olvidar el audio, ya que a menudo hay muchos otros desafíos que abordar, como los errores de creación de scripts o el diseño de interfaces de usuario accesibles. Sin embargo, pocas cosas tienden a generar más disonancia que una experiencia interactiva sin audio o con un audio mal diseñado. En este tutorial, comenzarás el proceso de creación de un entorno sonoro complejo al agregar efectos de sonido de pasos al personaje jugador.

2. ¿Cómo analizar las necesidades de la Escena?

Los efectos de audio se superponen para crear un entorno sonoro completo, por lo que comenzarás por crear el sonido más estable que el usuario escuchará al interactuar con el juego: los pasos del jugador.

A menudo, no prestamos atención a los pasos en el mundo real, a menos que intentemos estar callados o estemos escuchando a otra persona. Sin embargo, los pasos pueden decirnos mucho sobre un entorno. Tómate un momento y camina por tu entorno inmediato, de preferencia sobre algunas superficies diferentes, si es posible. ¿Cómo suenan tus pasos sobre una alfombra? ¿Qué hay del suelo, el ladrillo o la madera? ¿Cómo suenan tus pasos cuando usas zapatos, en lugar de caminar descalzo? Cada cambio en las variables producirá un sonido diferente.

Si observas la Scene (Escena), verás que hay tres superficies diferentes por las que el jugador puede moverse: el área abierta con césped, el estanque poco profundo y la cueva de piedra. Las tres superficies deben producir un tipo diferente de sonido de pasos.

3. ¿Cómo agregar eventos de animación?

Con los pasos, la intención es crear un sonido que se reproduzca en el momento preciso en que el pie del personaje toque el suelo. Puedes hacerlo en Unity al vincular el efecto de sonido a una parte específica del movimiento del personaje mediante el uso de Eventos de animación. Un Evento de animación funciona de manera muy similar a un fotograma clave, pero en lugar de decirle al personaje que se mueva de una manera específica, envía un mensaje que un script utiliza para hacer que algo suceda. Lo usarás para llamar a un script prefabricado a fin de reproducir un sonido de pasos.

1. Dirígete a la carpeta Animations (Animaciones) del Animator Controller (Controlador del animador) en la siguiente ruta:

Assets > CreativeCore_Audio > StarterAssets > ThirdPersonController > Character > TutorialAnimations.

2. Elige la animación Locomotion--Walk_N para seleccionarla en el Inspector.

3. En el Inspector, selecciona la pestaña Animation y despliega la sección Events (Eventos).

La sección Events presenta una pequeña escala de tiempo y una lista de diferentes tipos de datos que se pueden enviar, pero permanecerán en gris y no disponibles hasta que agregues tu primer evento.

4. Aumenta el tamaño de la ventana Animation Preview (Vista previa de la animación) en la parte inferior de la ventana Inspector con clic izquierdo y arrastra las líneas dobles al lado del nombre de la animación.

Debes colocar un Animation Event en el punto exacto en que el pie del personaje toca el suelo. Para lograr esto, primero debes ubicar ese punto en la animación, lo cual puede lograrse al desplazarte manualmente por los fotogramas clave en la ventana Preview. Este proceso se conoce como barrido. Para hacer un barrido por la animación, haz clic izquierdo y arrastra la barra gris a la derecha del botón Play (Reproducir) en la ventana Animation Preview. A medida que haces un barrido por la animación, la escala de tiempo del Event se ajusta para reflejar qué lugar de la animación estás viendo en la vista previa.

5. Haz un barrido por la animación hasta que encuentres el momento en que el pie izquierdo del personaje toca el suelo, más o menos en el fotograma 9.

6. Regresa a la sección Events en el Inspector. Haz clic en el botón Add Event (Agregar evento).

Aparecerá un pequeño ícono de indicador en la escala de tiempo del Event, en el punto especificado de la animación. Esto habilitará los tipos de datos directamente debajo de la escala de tiempo.

7. En el parámetro de la función, ingresa «PlayStep». Esto se vinculará a un script más adelante en el tutorial, por lo que es importante que lo escribas de forma precisa, como se muestra aquí.

8. Repite el proceso de barrido de la animación, la creación de un evento y la configuración de la función como PlayStep para el paso del pie derecho del personaje.

9. En la parte inferior del Inspector, haz clic en el botón Apply (Aplicar) para guardar los eventos en la animación.

10. Busca las animaciones Run (Correr) y Jump Landing (Aterrizaje al saltar) en la carpeta Animations y repite el proceso de agregar eventos en el momento en que los pies del personaje toquen el suelo. Recuerda aplicar los eventos una vez que hayas terminado con cada animación.

4. ¿Cómo aplicar el script de audio?

Las animaciones están configuradas para enviar una solicitud de evento cada vez que el pie del personaje jugador toque el suelo. Esta llamada de evento se realizará al objeto al que están conectadas las animaciones, por lo que el script que gestiona los pasos debe aplicarse al personaje jugador. Para reproducir los sonidos de las animaciones, también debe agregarse una Audio Source (Fuente de audio) al personaje jugador.

1. Busca el Script FootstepManager en la carpeta Scripts del proyecto. Agrega el script al objeto PlayerArmiture en ThirdPersonController en la Hierarchy (Jerarquía).

2. Con el reproductor aún seleccionado, haz clic en el botón Add Component (Agregar componente) en la ventana Inspector y busca y selecciona Audio Source.

5. ¿Cómo explorar el script de audio?

Toma un momento para revisar el Script FootstepManager. Observa que en el Inspector hay tres menús desplegables etiquetados como Grass Steps (Escalones para césped), Water (Agua) y Cave (Cueva); los tres tipos diferentes de sonido de pasos requeridos. Estos menús desplegables representan una lista de múltiples sonidos de pasos. En breve, hablaremos sobre su importancia.

Si deseas entender mejor la programación que incluye el script, abre Visual Studio con doble clic en el Script FootstepManager y consulta las siguientes notas:

  • El método OnControllerColliderHit detecta en qué tipo de superficie está caminando el jugador al verificar la etiqueta asociada. (Aplicarás etiquetas a las superficies de la Escena en el siguiente paso, pero, por ahora, debes saber que este método se está ejecutando en todo momento y tienes que asegurarte de que sepa sobre qué está parado el jugador).
  • Cuando un evento se reproduce en la Escena, llama al método PlayStep, que selecciona un clip de audio aleatorio de las listas de audio que viste en el Inspector, y lo reproduce.

6. ¿Cómo etiquetar superficies de la Escena?

Para saber qué clip de audio reproducir, FootstepManager primero necesita saber en qué tipo de superficie se encuentra el jugador. Esto se logra mediante el uso de etiquetas.

1. Selecciona la superficie del césped en la vista de Escena. En la parte superior de la ventana Inspector, selecciona el menú desplegable con la etiqueta Tag (Etiquetar) y, en la parte inferior de la lista, selecciona Add Tag (Agregar etiqueta).

2. En Tags and Layers (Etiquetas y capas), selecciona el botón + para agregar una nueva etiqueta. Nombra la nueva etiqueta como «Grass» y asegúrate de deletrear la palabra de forma correcta y usar las mayúsculas y minúsculas según corresponda, para que se pueda llamar mediante un script.

3. Crea dos etiquetas más: una para Water (Agua) y otra para la Cave (Cueva).

4. Selecciona la superficie de césped en la vista de Escena una vez más. Configura la etiqueta como Grass (Césped).

5. Selecciona la superficie de agua en la vista de Escena y etiquétala como «Water».

6. Selecciona la cueva en la vista de Escena y etiquétala como «Cave».

7. ¿Cómo agregar un clip de pasos?

Ahora, la Escena está configurada correctamente para que el script de los pasos reproduzca el sonido adecuado según el lugar en el que se encuentre el personaje jugador, por lo que todo lo que queda es agregar los clips de audio de los pasos. Ahora surge una pregunta: ¿por qué hay una lista para varios pasos en lugar de solo una variable de clip de audio para uno? Experimentemos con un solo clip de audio y veamos cuáles son los resultados.

1. En la carpeta de audio, selecciona uno de los escalones del césped y arrástralo sobre la variable Grass Steps. Esto lo agregará automáticamente a la lista.

2. Repite el paso anterior para los pasos en el agua y la cueva para que cada una de las variables de los tres pasos en el FootstepManager tenga un solo clip de audio asignado.

3. Prueba la Escena. Dedica algunos minutos a correr por el área y por las diferentes superficies para escuchar los pasos que cambian dinámicamente.

Puede que no se note de inmediato, pero si dedicas un rato a correr, con el tiempo te darás cuenta de que todos los pasos suenan exactamente igual. Un tipo de paso puede ser más obvio que los otros, pero con el tiempo notarás que todos son los mismos sonidos que se repiten una y otra vez.

Debido a que el personaje jugador es lo único constante que aparecerá en cada Escena que el usuario experimente, es casi seguro que estos efectos de audio repetidos se empezarán a notar y podrían volverse bastante molestos. Esto tampoco refleja cómo se mueve la gente en el mundo real. La forma en que las personas colocan los pies cambia con cada paso y, como resultado, el sonido también varía mucho. Si bien no sería razonable tener cientos de clips de audio de pasos diferentes, tener unos cuantos puede evitar que el usuario note los efectos repetidos.

Es hora de agregar esa variedad necesaria.

4. Selecciona todos los escalones de césped en la carpeta de audio y arrástralos sobre la variable Grass Steps para asignarlos a la lista.

5. Repite el paso anterior para los clips de audio Water y Cave.

6. Prueba la Escena de nuevo. Al moverte, deberías notar que los pasos parecen más dinámicos y mucho menos repetitivos.

8. Explorar: ¿Cómo personalizar los pasos?

Como exploraste en un tutorial anterior, el sonido puede desempeñar un papel muy importante al cambiar la atmósfera de una Escena. En Unity, es muy fácil cambiar los clips de audio, lo que te permite iterar con rapidez en diferentes escenarios de audio.

Intenta cambiar los clips de audio de las diferentes superficies para ver cómo cambia la Escena. ¿Qué pasaría si los escalones del césped sonaran como el crujir de las hojas o el césped seco? ¿Qué pasaría si en lugar de salpicaduras, al pisar el agua se produjese el sonido de una superficie de hielo al romperse?

Aprendiste un poco sobre dónde y cómo acceder a los archivos de audio en la misión Audio en los Aspectos básicos de Unity. Si necesitas un repaso, consulta el tutorial aquí. Unity admite gran variedad de formatos de archivos de audio, por lo que, al buscar, recuerda que puedes usar los siguientes: .aif, .wav, .mp3 y .ogg.

Además de la Tienda de recursos de Unity y otros recursos a los que se hace referencia en el tutorial, también puedes encontrar una gran variedad de efectos de sonido en Open Game Art y FreeSound.org. Si te interesa el diseño de audio en general, puedes intentar crear tus propios efectos de sonido grabando audios en tu teléfono.

Independientemente de cómo obtengas tu audio, asegúrate del tipo de licencia que tiene y de que puedas usarlo en tus propios proyectos. Los archivos de buena reputación marcarán claramente el tipo de licencia que tiene un archivo de audio, como se puede ver aquí en Open Game Art:

Si un archivo de audio es de uso gratuito con crédito, asegúrate de darle el crédito al autor original.

Cuanto más practiques el diseño de audio, mejores serán tus resultados. Aprovecha esta oportunidad para experimentar con el audio en pequeña escala y ver qué tipo de Escena puedes configurar.

Complete this Tutorial