Música y efectos de sonido en unity con audio listener y audio source
1. Música y efectos de sonido en Unity con
Audio Listener y Audio Source
2. Vista General del Audio
Un juego estaría incompleto sin algún tipo de audio,
ya sea la música de fondo o efectos de sonido. El
sistema de audio de Unity es flexible y poderoso.
Puede importar la mayoría de formatos estándares de
audio y tiene características sofisticadas para
reproducir sonidos en un espacio 3D, opcionalmente
con efectos como echo y filtración aplicadas. Unity
también puede grabar audio de cualquier micrófono
disponible de la maquina del usuario para uso durante
el modo de juego o para almacenamiento y
transmisión.
3. Teoría Básica
En la vida real, los sonidos son emitidos por objetos y escuchados por listeners.
La manera en la que el sonido es percibido depende de una cantidad de factores.
Un listener puede decir en qué dirección un sonido viene y también puede tener
algún sentido de su distancia por su intensidad y calidad. Una fuente de audio
que se mueve rápidamente(como una bomba que cae o un carro de policia que
pasa) va a cambiar en el tono en la medida que se mueva debido al Efecto
Doppler. Además, los alrededores van a afectar la manera en que el sonido se
refleja, entonces una voz dentro de una cueva va a tener un echo, pero, la misma
voz en el campo abierto no lo tendrá.
4. Para simular los efectos de la posición, Unity requiere
que los sonidos sean originados de Audio
Sources adjuntos a los objetos. Los sonidos emitidos
luego son recogidos por un Audio
Listener adjuntado a otro objeto, en la mayoría es la
cámara principal. Unity puede simular los efectos de
la distancia y la posición de una fuente del objeto
listener y reproducirlos al usuario de acuerdo a esto.
La velocidad relativa de los objetos fuente(source) y
listener puede también ser utilizada para simular el
Efecto Doppler para agregar realismo.
5. Unity no puede calcular los echos solo con la geometría de la
escena, pero usted puede simularlos al agregar Audio
Filters a los objetos. Por ejemplo, usted puede aplicar el
Echo Filter a un sonido que supuestamente viene dentro de
una cueva. En situaciones dónde los objetos pueden moverse
adentro y afuera de un lugar con un fuerte echo, usted puede
agregar un Reverb Zone a la escena. Por ejemplo, su juego
puede involucrar carros que se mueven a través de un túnel.
Si usted coloca un reverb zone dentro del túnel, los sonidos
de los motores de los carros va a comenzar hacer echo justo
cuando entran y el echo morirá cuando ellos salgan al otro
lado del túnel.
6. El Audio Mixer de Unity le permite a usted mezclar
varias fuentes de audio, aplicarles efectos, y realizar
una masterización
7. Trabajando con Assets de Audio
Unity puede importar archivos audio en
formatos AIFF, WAV, MP3 y Ogg de la misma manera que
otros assets, simplemente arrastrando los archivos al panel
del Proyecto. Importar un archivo audio crea un Audio Clip
que puede ser arrastrado a un Audio Source o usado por un
script. La página del Audio Clip tiene más detalles acerca las
opciones de importación disponible para archivos audio.
Para la música, Unity también soporta tracker modules, que
utiliza muestras cortas de audio como “instrumentos” que
están arreglados para reproducir melodías. Los trackers
modules pueden ser importados de archivos .xm, .mod, .it,
y .s3m pero son utilizados de la misma manera que clips de
audio ordinarios.
8. Grabación de Audio
Unity puede acceder a los micrófonos del computador
desde un script y crear Audio Clips mediante una
grabación directa. La clase Microphone proporciona
un API directo para encontrar micrófonos disponibles,
preguntar acerca de sus capacidades y comenzar y
terminar una sesión de grabación. La página de
referencia del script para Microphone tiene
información adicional y ejemplos de código para la
grabación de audio.
10. Audio Clip
Los Audio Clips contienen información de audio
utilizada por Audio Sources. Unity soporta mono,
stereo y assets de audio multi-canal (hasta ocho
canales). Los formatos de archivos de audio que Unity
puede importar son .aif, .wav, .mp3, y .ogg. Unity
también puede importar tracker modules en
formatos .xm, .mod, .it, y .s3m. Los assets de
Tracker module se comportan de la misma manera
que cualquier otro asset de audio en Unity aunque
ninguna vista previa de forma de onda está disponible
en el inspector de importación de assets.
11.
12. Audio Listener
El Audio Listener actúa como un dispositivo
parecido a un micrófono. Este recibe input de
cualquier Audio Source dado en la escena y reproduce
el sonido a través de los alta-voces del computador.
Para la mayoría de aplicaciones tiene mucho sentido
adjuntar el listener a la Camera principal. Si un audio
listener está dentro de los limites de un Reverb
Zone la reverberación es aplicada a todos los sonidos
audibles en la escena. Adicionalmente, los Audio
Effects pueden ser aplicados al listener y serán
aplicados a todos los sonidos audibles en la escena.
13. El Audio Listener no tiene propiedades. Simplemente debe ser agregado
para que funcione. Siempre es agregado a la Cámara Principal por
defecto.
Detalles
El Audio Listener funciona conjunto con los Audio Sources,
permitiéndole a usted crear la experiencia auditiva para sus juegos.
Cuando el Audio Listener está adjunto a un GameObject en su escena,
cualquier Source que esté lo suficientemente cerca al Listener será
recogido y output a los alta voces del computador. Cada escena puede
solamente tener 1 Audio Listener para que funcione adecuadamente.
Propiedades
14. Si los Sources(Fuentes) están en 3D ( vea los ajustes de
importación en Audio Clip), el listener va a emular la posición,
velocidad y orientación del sonido en el mundo 3D (Usted puede
ajustar la atenuación y comportamiento 3D/2D en gran detalle en
el Audio Source). El 2D va a ignorar cualquier procesamiento 3D.
Por ejemplo, si su personaje camina de una calle a un club
nocturno, la música del club nocturno probablemente debería ser
2D, mientras que las voces individuales del personaje en el club
deberían ser mono con su posicionamiento real siendo manejado
por Unity.
Usted debería adjuntar el Audio Listener ya sea a la Cámara
Principal o al GameObject que representa el jugador. Intente
ambos para encontrar que es lo mejor para su juego.
15. Consejos
•Cada escena puede solamente tener un Audio
Listener.
•You access the Project-wide Audio settings using
the Audio window (main menu: Edit > Project
Settings, then select the Audio category).
16. Audio Source (Fuente de Audio)
El Audio Source reproduce un Audio Clip en la escena. El clip
se puede reproducir en un audio listener o a través de un audio
mixer. El audio source puede reproducir cualquier tipo
de Audio Clip y puede ser configurado que reproduzca estos
como 2D, 3D, o como una mezcla (SpatialBlend). El audio se
puede esparcir entre los altavoces (estéreo a 7.1)(Spread) y
transformado entre 3D y 2D (SpatialBlend). Esto se puede
controlar sobre la distancia con las curvas de difuminación
(falloff curves). Adicionalmente, si el listener está dentro uno o
múltiples Reverb Zones, las reverberaciones se aplican a la
fuente. Los filtros individuales se pueden aplicar a cada fuente
de audio para una experiencia de audio más enriquecedora.
17.
18. Hay tres modos de Rolloff: Logarithmic (Logaritmica),
Linear (Lineal) y Custom Rolloff (Rolloff
Personalizado). El Custom Rolloff puede ser
modificado al modificar la curva de distancia de
volumen como es descrito a continuación. Si usted
intenta modificar la función de la distancia de
volumen cuando es establecida a Logarithmic o
Linear, el tipo automáticamente va a cambiar a
Custom Rolloff.
Tipos de Rolloff
19.
20. Creando Audio Sources
Los Audio Sources no hacen nada sin tener asignado
un Audio Clip. El Clip es el archivo de sonido actual que
será reproducido. El Source es como un control para
comenzar y parar la reproducción de ese clip, y modificar
otras propiedades de audio.
Para crear un nuevo Audio Source:
Importe sus archivos de audio a su Proyecto de Unity. Estos
ahora son Audio Clips.
Vaya a __GameObject->Create Empty__desde la barra del
menú.
Con el nuevo GameObject seleccionado,
seleccione Component->Audio->Audio Source.
21. Tenga en cuenta: Si usted quiere crear
un Audio Source únicamente para un Audio
Clip que usted tiene en la carpeta de Assets entonces
usted simplemente puede arrastrar el clip a la Vista de
Escena - un GameObject con un componente Audio
Source__será creado automáticamente para
esto. Arrastrar un clip a un GameObject
existente va a adjuntar el clip con un
nuevo Audio Source__ si no hay uno ahí ya. Si el
objeto ya tiene un Audio Source entonces el nuevo
clip arrastrado remplazará al que la fuente
actualmente utiliza.