Más allá de lo básico#
Ya viste AudioSource y el Mixer básico. Aquí subimos el listón: sonido 3D que se siente, y una mezcla que reacciona al juego (ambientes que cambian, música que baja cuando alguien habla).
Sonido 3D creíble#
Poner Spatial Blend en 3D es solo el principio. Para que suene bien, ajusta en el AudioSource:
- Volume Rolloff: cómo baja el volumen con la distancia. Logarithmic suena más natural que Linear.
- Min Distance: dentro de este radio, el sonido va a volumen máximo.
- Max Distance: a partir de aquí, deja de oírse.
- Spread y Doppler Level: apertura estéreo y efecto Doppler (el "nnnneeeoowww" de algo que pasa rápido).
Una Audio Reverb Zone aplica reverberación (eco) según dónde esté el oyente: una cueva suena cavernosa, una sala pequeña seca. Coloca zonas con presets (Cave, Hallway, Arena) y el audio gana muchísima sensación de espacio sin tocar código.
El Mixer: grupos y enrutado#
Un Audio Mixer organiza el sonido en grupos jerárquicos. Un montaje típico:
Master
├── Música
├── SFX
│ ├── Jugador
│ └── Entorno
└── VocesCada AudioSource se enruta a un grupo (campo Output). Así controlas el volumen de "SFX" entero, o solo el de "Voces", con un slider. Recuerda: el volumen del mixer va en decibelios (ver la nota de conversión en Audio básico).
Snapshots: cambiar la mezcla de golpe#
Un Snapshot guarda un estado completo del mixer (todos los volúmenes y efectos). Cambiar entre snapshots hace transiciones de ambiente suaves:
- Snapshot Normal: mezcla estándar.
- Snapshot Pausa: baja los SFX, aplica un filtro lowpass a todo (ese efecto "amortiguado" al pausar).
- Snapshot BajoElAgua: lowpass + reverb para sonar sumergido.
using UnityEngine;
using UnityEngine.Audio;
public class AmbienteAudio : MonoBehaviour
{
[SerializeField] private AudioMixerSnapshot normal;
[SerializeField] private AudioMixerSnapshot pausa;
public void Pausar() => pausa.TransitionTo(0.3f); // transición en 0,3 s
public void Reanudar() => normal.TransitionTo(0.3f);
}Ese sonido apagado y con la música más baja cuando pausas un juego es, casi siempre, una transición a un snapshot con un Lowpass en el Master. Dos snapshots y una línea de código: mucho impacto por poco trabajo.
Ducking: la música baja cuando habla alguien#
El ducking (o sidechain) hace que un grupo baje automáticamente cuando otro suena: la música se atenúa cuando hay voces o un efecto importante, y vuelve al terminar. Se monta en el mixer con un efecto Duck Volume en el grupo Música, recibiendo la señal (Send) del grupo Voces.
Sin ducking, la voz de un aviso o un diálogo compite con la música y se entiende mal. Con ducking, la música "hace sitio" a la voz automáticamente y luego vuelve. Es un truco de mezcla de radio y cine que cualquier juego pulido usa.
Errores frecuentes#
- Sonido "3D" con Rolloff Linear y Min/Max mal puestos: se oye plano o se corta de golpe.
- Poner el volumen del mixer en escala 0–1 en vez de decibelios.
- No exponer los parámetros del mixer antes de usar
SetFloatdesde código. - Transiciones de snapshot instantáneas (0 s) que suenan a "corte" en vez de suaves.
- Abusar de la reverb hasta que todo suena a lata.
Ponte a prueba#
Resumen#
Para audio 3D creíble, ajusta Rolloff logarítmico, Min/Max Distance y añade Reverb Zones. En el Mixer, organiza grupos (Música/SFX/Voces), usa snapshots con TransitionTo para cambios de ambiente (pausa, bajo el agua) y ducking para que la música baje ante las voces. Todo se apoya en lo visto en Audio en Unity.