Caso práctico: uso del sonido espacial en RoboRaid

En este artículo se describen los desafíos a los que se enfrenta el equipo de experiencia de Microsoft HoloLens al crear audio para el tirador de primera persona de roboRaid mixed-reality.

La tecnología

El sonido espacial es una de las características más interesantes de Microsoft HoloLens, lo que permite a los usuarios percibir lo que sucede en torno a ellos cuando los objetos no están en la línea de visión.

En RoboRaid, el uso más obvio y eficaz del sonido espacial es alertar al jugador a algo que sucede fuera de su visión periférica. Por ejemplo, breacher puede entrar desde cualquiera de las paredes escaneadas de la sala. Si no se encuentra frente a la ubicación en la que entra, es posible que lo pierda. Para avisarle a esta invasión, escuchará un poco de audio distinto procedente de donde entra el Breacher, lo que le permite saber que necesita actuar rápidamente para detenerlo.

Entre bambalinas

Crear sonido espacial para aplicaciones de HoloLens es tan nuevo y único que los problemas pueden ser difíciles de resolver porque no hay ningún proyecto pasado al que hacer referencia. Esperamos que estos ejemplos de los desafíos de audio que se enfrentan al hacer RoboRaid te ayudarán a medida que creas audio para tus propias aplicaciones.

Tenga en cuenta la fiscalización de la CPU

El sonido espacial puede ser exigente en la CPU. Para una experiencia ocupada como RoboRaid, era fundamental mantener el número de instancias de sonido espacial en menos de ocho en un momento dado. Normalmente, era tan fácil como establecer el límite de instancias para diferentes eventos de audio. Las instancias que se producen después de alcanzar el límite se eliminan. Por ejemplo, cuando los drones generan, sus gritos están limitados a tres instancias en un momento dado. Teniendo en cuenta que solo se pueden generar cuatro drones a la vez, tres gritos son abundantes, ya que no hay forma de que su cerebro pueda realizar un seguimiento de esos muchos eventos de audio similares. Esto liberó recursos para otros eventos de sonido espacial, como explosiones enemigas o enemigos que se preparan para disparar.

Recompensar una esquiva exitosa

El mecánico de cobertura es uno de los mecanismos de juego más importantes en RoboRaid, y también algo que sentíamos era realmente único para la experiencia de HoloLens. Como tal, queríamos hacer esquivas exitosas muy gratificantes para el jugador. Tenemos el "whizz-by" de Stack para sonar atractiva bastante temprano en el desarrollo. Inicialmente, mi plan era usar un bucle y manipularlo en tiempo real mediante el volumen, el tono y el filtro. La implementación de esto iba a ser muy elaborada. Antes de comprometer los recursos para construir esto creamos un prototipo barato usando un activo con el efecto Desenlazado Desentras para averiguar cómo se sentía. Nuestro talento de desarrollo lo hizo para que este recurso whizz-by jugaría exactamente 0,7 segundos antes de que el projectil haya pasado por la oreja del jugador y los resultados se sintieron increíbles! No es necesario decir, hemos abandonado la solución más compleja e implementado el prototipo.

(Para obtener más información sobre la creación de un recurso de audio con el efecto Descontenido de Asín, consulta 100 Whooshes en 2 minutos).
Con éxito esquivando el projectil de un enemigo recompensa al jugador con un sonido satisfactorio.

Sonidos ineficaces de picor

Originalmente, habíamos querido tocar un sonido de explosión detrás del jugador una vez que han esquivado correctamente el proyectil enemigo, pero decidimos abandonar esto por varias razones. En primer lugar, no se sintió tan eficaz como el whizz-by SFX que usamos para el esquiva. En el momento en que el projectil golpea una pared detrás de ti, algo más habría sucedido en el juego que enmascararía ese sonido. En segundo lugar, no tuvimos colisión en el suelo, por lo que no pudimos conseguir la explosión para jugar cuando el proyectil golpeó el suelo en lugar de las paredes. Y finalmente, hubo el costo de CPU del sonido espacial. El enemigo Elite Escorpión (uno que puede arrastrarse dentro de la pared) tiene un ataque especial que dispara alrededor de ocho proyectiles. No sólo eso hizo un gran desastre en la mezcla, también introdujo un terrible descifrado porque estaba golpeando la CPU demasiado duro.

Comunicación de un acierto

Un problema interesante en el que nos encontramos en HoloLens era lo difícil que era comunicar eficazmente que se había alcanzado un jugador. Lo que hace que una experiencia de realidad mixta tenga éxito es la sensación de que la historia le está pasando. Eso significa que tienes que creer que estás luchando contra una invasión de robot alienígena en tu propia sala de estar.

Obviamente, los jugadores no sentirán nada cuando lleguen, así que tuvimos que encontrar una manera de convencer al jugador de que algo malo les pasó. En los juegos convencionales, es posible que veas una animación que te permita saber que tu personaje ha tenido un golpe, o la pantalla podría parpadear en rojo y tu personaje podría gruñir un poco. Dado que estos tipos de indicaciones no funcionan en una experiencia de realidad mixta, decidimos combinar la indicación visual con un sonido exagerado que indica que has tomado daños. Creé un sonido grande y lo hice tan destacado en la mezcla que se agachaba todo. A continuación, para que destaque aún más, agregamos un sonido de advertencia breve como si un sub nuclear se hundiese.
Cuando un jugador recibe un golpe en RoboRaid, ven una indicación visual, pero también reciben una indicación de audio exagerada que les dice que han tomado daños.

Obtener sonido grande de altavoces pequeños

Los altavoces HoloLens son pequeños y ligeros para satisfacer las necesidades del dispositivo, por lo que no puedes esperar escuchar demasiado bajo. De forma similar al desarrollo de teléfonos inteligentes o dispositivos de juegos portátiles, los diseñadores de sonido y compositores deben tener en cuenta el contenido de frecuencia de su audio. Siempre diseño sonidos o escribiendo música con una gama de frecuencia completa porque el uso de auriculares es una opción para los usuarios. Sin embargo, para garantizar la compatibilidad con los altavoces de HoloLens, ejecuto una prueba ocasionalmente colocando un EQ en el maestro de cualquier DAW en el que estoy trabajando. La configuración de EQ consta de un filtro de paso alto alrededor de 600 Hz a 700 Hz (no demasiado empinado) y filtro de paso bajo a unos 10 000 (empinados). Esto le dará una idea aproximada de cómo reproducirán los sonidos en el dispositivo.

Si confías en el bajo para dar la sensación de cambio de acorde en tu música, puedes encontrar que tu música pierde completamente la sensación de raíz cuando aplicas esta configuración de EQ. Para solucionar esto, agrego otra capa al bajo que es una octava más alta (con algunos armónicos ricos) y mezclé para obtener el sentido de la raíz. A veces, el uso de distorsión para ampar los armónicos dará suficiente contenido de frecuencia en el rango superior para hacer que nuestro cerebro piense que hay algo debajo de él. Esto es cierto para SFX como impactos, explosiones o sonidos durante momentos especiales, como los super ataques de un jefe. Realmente no puedes confiar en el extremo bajo para dar al jugador una sensación de impacto o peso. Al igual que con la música, usando distorsión para dar algo de crujiente definitivamente ayudó.

Hacer que las indicaciones de audio destaquen

Naturalmente, todo el equipo quería música bombata, armas fuertes y explosiones locas; pero también quería poder escuchar vozover o cualquier otra indicación de audio crítica para el juego.

En un juego de consola con una gama completa de frecuencia, tienes más opciones para dividir las frecuencias dependiendo de la importancia del sonido. Para RoboRaid, estaba limitado en el número de intervalos de frecuencias que podía curvar desde sonidos. Si usa filtro de paso bajo y curva demasiado desde el extremo superior del espectro, no tendrá nada que dejar en el sonido porque no hay mucho bajo.

Para hacer que RoboRaid suene tan grande como puede en el dispositivo, tuvimos que reducir el rango dinámico de toda la experiencia y hacer un uso extenso del pato creando una jerarquía clara de importancia para diferentes tipos de sonidos. He establecido el pato de -2 dB a -6 dB dependiendo de la importancia. Personalmente no me gusta el pato obvio en los juegos, así que pasé mucho tiempo ajustando el tiempo de atenuación y la cantidad de atenuación del volumen. Configuramos buses independientes para sonido espacial, sonido no espacial, VO y bus seco sin reverberación para la música. A continuación, creamos buses de alta prioridad, críticos y no críticos para que los recursos se configuraran para ir a sus autobuses adecuados.

Espero que los profesionales de audio allí tengan tanta diversión y emoción trabajando en sus propias aplicaciones como hice en RoboRaid. No puedo esperar a ver (y escuchar).

Hágalo usted mismo

Un truco que descubrió para hacer que ciertos eventos (como explosiones) suenan "más grandes", como están llenando la sala, era crear un recurso mono para el sonido espacial y mezclarlo con un recurso estéreo 2D, para reproducirse en 3D. Toma algún ajuste, ya que tener demasiada información en el contenido estéreo disminuirá la direccionalidad de los recursos mono. Sin embargo, conseguir el equilibrio correcto dará lugar a enormes sonidos que harán que los jugadores giren sus cabezas en la dirección correcta.

Puede probar sonidos grandes con los siguientes recursos de audio:

Escenario 1

  1. Descargue roboraid_enemy_explo_mono.wav y establézcalo para reproducirlo a través del sonido espacial y asígnelo a un evento.
  2. Descargue roboraid_enemy_explo_stereo.wav y establézcalo en estéreo 2D y asígnelo al mismo evento que antes. Dado que estos recursos se normalizan en Unity, atenúa el volumen de ambos recursos para que no se recorte.
  3. Toca ambos sonidos juntos. Mueva la cabeza alrededor para sentir cómo suena espacial.

Escenario 2

  1. Descargue roboraid_enemy_explo_summed.wav y establézcalo para reproducirlo a través del sonido espacial y asignarlo a un evento.
  2. Después, reproduzca este recurso y compárelo con el evento del escenario 1.
  3. Pruebe un equilibrio diferente de archivos mono y estéreo.

Consulte también