8. Añadiendo sonidos mediante el uso del Audio Mixer.

Sin valoraciones

8. Añadiendo sonidos mediante el uso del Audio Mixer.

La música y sonidos es una parte importante de cualquier videojuego y no solo basta con añadirlo y reproducirlo. Unity3d incorpora el componente Audio Mixer que se encarga de controlar los diferentes canales de audio y nos permite configurar cada canal de forma separada. Para crear un Audio Mixer, hacemos clic derecho sobre un directorio de Assets donde nos interese guardarlo y elegimos “Create/AudioMixer”. Una vez creado, hacemos doble clic sobre él.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 8.1. Audio Mixer con diferentes canales.

Cada vez que cambiamos de escena, todos los objetos de la nueva escena se cargan y el sonido no es ninguna excepción, por lo que se cortaría la música principal al pasar de escena. Para evitar ello, implementaremos un patrón singleton para la música principal como se muestra en la Figura 8.2.

8. Añadiendo sonidos mediante el uso del Audio Mixer.
Figura 8.2. Script que implementa un patrón singleton.

Creamos un GameObject vacío y le añadimos el script y un componente de tipo “Audio Source ” A este último componente le añadimos el fichero de audio en “AudioClip ” como salida elegimos el canal “music_background” del Mixer que hemos creado.

En el caso de los efectos de sonido no es necesario crear un singleton por lo que únicamente añadimos los “Audio Source” a cada objeto y los activamos desde los correspondientes scripts.

Figura 8.3. Componente Audio Souce y el script singleton.

9. Otras herramientas nativas de 2D enfocadas a las físicas.

Dado la temática de nuestro videojuego (o de cualquier otro videojuego) es muy difícil hacer uso en él de todas las funcionalidades de Unity3d enfocadas al desarrollo en 2D. Es por ello que dedicamos este último apartado del Anexo a comentar varias funcionalidades interesantes por medio de pequeños ejemplos.

videojuegos

9.1. Area Effector 2D y Point Effector 2D.

El Area Effector 2D aplica una fuerza a todos los GameObjects que están en un área.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.1. Escena de Area Effector 2D

Para explicar esta funcionalidad, hemos creado la escena de la Figura 9.1. En esta escena una pelota amarilla cae y entra dentro del área (“Box Collider 2D”) de la fecha que apunta a la derecha. Al entrar dentro de esta área, el área le aplicará una fuerza hacia la derecha y la siguiente fecha le aplicará otra fuerza hacia arriba.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.2. Componentes de la flecha.

En la Figura 9.2 se muestra los componentes de la flecha. Para que se active la fuerza, su “Box Collider 2D” debe estar marcada la opción “Is Trigger”, es decir, como disparador. Además de ello, también tiene que tener activado la opción “Used By Effector” junto con un componente Area Effector 2D. En este último componente configuraremos la fuerza a aplicar en el área y dispone de los siguientes parámetros a configurar:

  • Collider Mask: Selecciona las capas permitidas para interactuar con el “Effector”.
  • Force Direction: La dirección de la fuerza a ser aplicada.
  • Force Magnitude: La magnitud de la fuerza a ser aplicada.
  • Force Variation: La variación de la magnitud de la fuerza en ser aplicada.
  • Drag: La fricción lineal que aplica a los “Rigidbody”.
  • Angular Drag: La fricción angular angular drag) que aplica a los “Rigidbody”.
  • Force Target: El objetivo donde el “Effector” aplica cualquier fuerza.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.3. Fuerza que ejerce el área con Area Effect 2D sobre la pelota

Point Effector aplica una fuerza para atraer o repulsar un GameObject contra un punto. En este caso disponemos de la escena de la Figura 9.4 en la que una pelota cae sobre una seta que hará que la pelota rebote, es decir, aplicará una fuerza de repulsión a la pelota.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.4. Escena de Area Effector 2D.

Nuevamente el GameObject de la seta dispone de un “Box Collider 2D” con las opciones “Is Trigger”, y “Used By Effector” activadas, con la diferencia que esta vez añadiremos un componente “Point Effector 2D” como se muestra en la Figura 9.5.

videojuegos

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.5. Componente Point Effector 2D.

Este componente dispone de los siguientes parámetros a configurar:

  • Collider Mask: Selecciona las capas permitidas para interactuar con el “Effector”.
  • Force Magnitude: La magnitud de la fuerza a ser aplicada.
  • Force Variation La variación de la magnitud de la fuerza en ser aplicada.
  • Drag: La fricción lineal que aplica a los “Rigidbody”.
  • Angular Drag: La fricción angular angular drag) que aplica a los “Rigidbody”.
  • Force Target: El objetivo donde el “Effector” aplica cualquier fuerza.
  • Force Source: Punto centro del «Effector».
  • Force Mode: El modo utilizado para aplicar la fuerza (constante, lineal, etc).

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.6. Fuerza que ejerce el área con Point Effector 2D sobre la pelota.

9.2 Creación de un material de físicas customizadas.

En los casos anteriores utilizando el “Effector” transmitimos una fuerza a los GameObject con los que colisionamos. En otros casos, nos puede interesar que un GameObject tenga un determinado comportamiento cuando colisione con otro GameObject y que no sea otros los que alteren su comportamiento. Para ello utilizamos un material de físicas customizado.

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.7. Escena de explicación de Physic 2D Material.

En la Figura 9.7 se muestra la escena que utilizaremos para crear un material de físicas customizadas mediante el componente “Physic 2D Material”. La pelota amarilla dispone de las físicas por defecto por lo que al colisionar con el suelo se posará sobre el automáticamente, sin embargo la pelota naranja dispone de un material de físicas customizado que rebotará contra el suelo como si fuese una pelota real como se muestra en la Figura 9.8.

videojuegos

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.8. Diferencias entre físicas por defecto y material de físicas customizado.

Para ello, dentro de «Assets» creamos una carpeta «Material» y sobre ella hacemos clic derecho y elegimos «Create/Physic2D Material» y en este caso lo nombramos como «Bouncy».

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.9. Parámetros del Physic 2D Material.

En la Figura 9.9 se muestra los parámetros del material de físicas, por una parte el coeficiente de fricción y por otra el grado de rebote sobre una superficie (un valor 1 sería un rebote perfecto sin pérdida de energía).

8. Añadiendo sonidos mediante el uso del Audio Mixer.

Figura 9.10. Circle Collider 2D con un Physic 2D Material.

Para añadirlo al GameObject de la pelota naranja, arrastramos el componente creado hacía el campo «Material» de su «Circle Collider 2D» (ó «Box Collider 2D») y ya dispondrá de este comportamiento.

 

 

Agregar sonidos a tu juego en Unity mediante el uso del Audio Mixer es una excelente manera de controlar y mezclar la salida de audio de manera más avanzada:

1. Creación de Sonidos y Efectos de Sonido:

  • Antes de empezar, asegúrate de tener los archivos de sonido que deseas usar en tu juego. Pueden ser archivos de formato WAV, MP3, u otros compatibles con Unity.

2. Creación de un Audio Mixer:

  • En el menú principal de Unity, ve a «Window» -> «Audio» -> «Audio Mixer».
  • Esto abrirá la ventana del Audio Mixer.
  • Haz clic derecho en la jerarquía del proyecto y selecciona «Create» -> «Audio Mixer» para crear un nuevo Audio Mixer.

3. Añadir Grupos al Audio Mixer:

  • En el Audio Mixer, haz clic derecho en el área vacía y selecciona «Create Group».
  • Estos grupos te permitirán controlar diferentes categorías de sonido, como música, efectos de sonido, voz, etc.

4. Añadir Efectos de Sonido (Opcional):

  • Puedes añadir efectos de sonido a cada grupo para modificar y mejorar el audio.
  • Haz clic derecho en el grupo y selecciona «Add Effect» para añadir efectos como reverberación, ecualización, etc.

5. Configurar Sonidos en el Audio Mixer:

  • En tu escena, selecciona el objeto que emitirá sonidos (por ejemplo, un personaje, un objeto interactivo).
  • Añade un componente «Audio Source» al objeto si aún no lo tiene.
  • En el componente «Audio Source», asigna el Audio Mixer Group correspondiente.

6. Añadir Clips de Sonido:

  • En el componente «Audio Source», encontrarás la sección «Audio Clip». Aquí puedes asignar clips de sonido específicos para diferentes situaciones.
  • Importa tus clips de sonido a Unity y asígnales a los campos correspondientes.

7. Configuración del Audio Mixer en Script (Opcional):

  • Puedes controlar dinámicamente los parámetros del Audio Mixer a través de scripts en C#.
  • Por ejemplo, puedes cambiar el volumen de la música o de los efectos de sonido según las acciones del jugador.
csharp
using UnityEngine; using UnityEngine.Audio; public class ControladorSonido : MonoBehaviour { public AudioMixer audioMixer; public void AjustarVolumen(float volumen) { audioMixer.SetFloat("VolumenGeneral", volumen); } }

8. Pruebas y Ajustes:

  • Ejecuta el juego y prueba los sonidos.
  • Ajusta los niveles de volumen y efectos en el Audio Mixer según sea necesario.

9. Iteración:

  • Realiza iteraciones según los comentarios y ajusta la configuración del Audio Mixer según sea necesario.

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER