Case study - Uso del suono spaziale in RoboRaid

Questo articolo descrive le sfide che il team di Microsoft HoloLens esperienza ha affrontato durante la creazione di audio per lo sparatore di prima persona di RoboRaid.

La tecnologia

Il suono spaziale è una delle caratteristiche più interessanti di Microsoft HoloLens, consentendo agli utenti di percepire ciò che succede intorno a loro quando gli oggetti non sono in linea di vista.

In RoboRaid, l'uso più ovvio ed efficace del suono spaziale sta avvisando il giocatore di qualcosa che accade al di fuori della loro visione periferica. Ad esempio, il responsabile della violazione può entrare da una delle pareti analizzate nella stanza. Se non si sta affrontando la posizione in cui si sta immettendo, si potrebbe perdere. Per avvisarti di questa invasione, sentirai un po' di audio distinto proveniente dalla posizione in cui sta immettendo il violazione, che ti consente di sapere che devi agire rapidamente per fermarlo.

Dietro le quinte

La creazione di suoni spaziali per le app HoloLens è così nuova e unica che i problemi possono essere difficili da risolvere perché non ci sono progetti passati a cui fare riferimento. Spero che questi esempi delle sfide audio affrontate durante la creazione di RoboRaid ti aiuteranno a creare audio per le tue app.

Tenere presente l'imposizione della CPU

Il suono spaziale può essere impegnativo sulla CPU. Per un'esperienza occupato come RoboRaid, è stato fondamentale mantenere il numero di istanze audio spaziali a meno di otto in qualsiasi momento. In genere, era facile come impostare il limite di istanze per eventi audio diversi. Tutte le istanze che si verificano dopo il raggiungimento del limite vengono eliminate. Ad esempio, quando i droni generano, le loro urla sono limitate a tre istanze in qualsiasi momento. Considerando che solo circa quattro droni possono generare una volta, tre urli sono molti perché non c'è modo che il tuo cervello possa tenere traccia di molti eventi audio simili. Questo ha liberato le risorse per altri eventi audio spaziali, come le esplosione nemiche o i nemici che si preparano a sparare.

Ricompensa di una schivata riuscita

La meccanica dodging è una delle meccaniche di gioco più importanti di RoboRaid, e anche qualcosa che abbiamo sentito era veramente unico per l'esperienza HoloLens. Come questo, volevamo fare schivare di successo molto gratificante per il giocatore. Abbiamo ottenuto il Doppler "whizz-by" per suono accattivante abbastanza presto nello sviluppo. Inizialmente, il mio piano era quello di usare un ciclo e modificarlo in tempo reale usando volume, passo e filtro. L'implementazione di questa operazione sarà molto elaborata. Prima di eseguire il commit delle risorse per creare questo prototipo è stato creato un prototipo economico usando un asset con l'effetto Doppler creato in modo da scoprire come si sentiva. Il nostro sviluppatore di talento lo ha fatto in modo che questo whizz-by asset avrebbe riprodotto esattamente 0,7 secondi prima che il projectile sarà passato dall'orecchio del giocatore e i risultati si sentivano incredibili! Senza bisogno di dire, abbiamo abbandonato la soluzione più complessa e implementato il prototipo.

Per altre informazioni sulla creazione di un asset audio con l'effetto Doppler integrato, vedere 100 Whoosheshe in 2 minuti.
Scompigliando con successo un projectile nemico premia il giocatore con un suono soddisfacente.

Sconfluire suoni inefficaci

Originariamente, avevamo voluto riprodurre un suono di esplosione dietro il giocatore una volta che hanno superato correttamente il progetto nemico, ma abbiamo deciso di scavare questo per diversi motivi. Prima di tutto, non si sentiva efficace come il whizz-by SFX che abbiamo usato per la schivata. Nel momento in cui il progettoile colpisce un muro dietro di te, qualcosa altro sarebbe successo nel gioco che avrebbe mascherato quel suono. In secondo luogo, non abbiamo avuto collisioni sul pavimento, quindi non siamo riusciti a ottenere l'esplosione per giocare quando il progettoile ha colpito il pavimento invece delle pareti. Infine, c'era il costo della CPU del suono spaziale. Il nemico Elite Scorpion (uno che può strisciare all'interno del muro) ha un attacco speciale che spara circa otto proiettili. Non solo ha fatto che fare un enorme disordine nel mix, ha anche introdotto un terribile crackling perché è stato colpito troppo duramente la CPU.

Comunicazione di un hit

Un problema interessante si è verificato su HoloLens è stato come difficile comunicare in modo efficace che un giocatore era stato colpito. Ciò che rende un'esperienza di realtà mista riuscita è la sensazione che la storia sta accadendo a voi. Ciò significa che devi credere che TU stia combattendo un'invasione di robot alieni nel proprio soggiorno.

I giocatori ovviamente non sentiranno nulla quando si colpiscono, quindi abbiamo dovuto trovare un modo per convincere il giocatore che qualcosa di male è successo a loro. Nei giochi convenzionali, potresti vedere un'animazione che ti consente di sapere che il tuo personaggio ha preso un colpo o lo schermo potrebbe lampeggiare rosso e il tuo personaggio potrebbe grugnire un po '. Poiché questi tipi di segnali non funzionano in un'esperienza di realtà mista, abbiamo deciso di combinare il segnale visivo con un suono esagerato che indica che hai preso danni. Ho creato un grande suono, e l'ho reso così importante nel mix che ha anarato tutto giù. Poi, per renderlo ancora più grande, abbiamo aggiunto un breve suono di avviso come se un sub nucleare fosse affondato.
Quando un giocatore viene colpito in RoboRaid, vedono un segnale visivo, ma anche ottenere un segnale audio esagerato che indica loro di aver preso danni.

Ottenere un suono grande da piccoli altoparlanti

Gli altoparlanti HoloLens sono piccoli e leggeri per soddisfare le esigenze del dispositivo, quindi non puoi aspettarti di sentire troppo basso. Analogamente allo sviluppo per dispositivi di gioco intelligenti o portatili, progettisti audio e compositori devono essere consapevoli del contenuto di frequenza del loro audio. Ho sempre progettato suoni o scrivere musica con un intervallo di frequenza completo perché indossando cuffie è un'opzione per gli utenti. Tuttavia, per garantire la compatibilità con gli altoparlanti HoloLens, si esegue un test occasionalmente inserendo un EQ nel master di qualsiasi DAW che si sta lavorando. L'impostazione EQ è costituita da un filtro a passaggio elevato intorno a 600 Hz a 700 Hz (non troppo ripidi) e filtro a passaggio basso a circa 10K (ripida). Ciò dovrebbe dare un'idea approssimativa del modo in cui i suoni verranno riprodotti sul dispositivo.

Se ci si basa sul basso per dare il senso del cambiamento di accordo nella tua musica, potresti trovare che la tua musica perde completamente il senso della radice quando si applica questa impostazione EQ. Per rimediare a questo, ho aggiunto un altro livello al basso che è una otta più alta (con alcune armonica ricche) e l'ho mista per ottenere il senso della radice indietro. A volte usando la distorsione per amplificare le armonica darà un contenuto di frequenza sufficiente nell'intervallo superiore per rendere il nostro cervello pensare che ci sia qualcosa sotto di esso. Questo è vero per SFX come impatto, esplosione o suoni per momenti speciali, ad esempio gli attacchi super di un capo. Non puoi davvero basarti sul basso per dare al giocatore un senso di impatto o peso. Come con la musica, usando la distorsione per dare qualche croccante sicuramente aiutato.

Rendere i tuoi segnali audio in risalto

Naturalmente, tutti i membri della squadra volevano musica bombastica, pistole ad alto volume e esplosione pazza; ma volevano anche essere in grado di ascoltare voce o qualsiasi altro segnale audio critico per il gioco.

In un gioco console con una gamma completa di frequenza, hai più opzioni per dividere le frequenze in base all'importanza del suono. Per RoboRaid, ero limitato nel numero di intervalli di frequenze che potevo curvare dai suoni. Se si usa filtro a basso passaggio e curva troppo dalla fine superiore dello spettro, non si avrà nulla a sinistra sul suono perché non c'è molto basso-end.

Per rendere il suono roboraid più grande che può sul dispositivo, abbiamo dovuto ridurre l'intervallo dinamico dell'intera esperienza e fatto ampio uso dell'anatratura creando una chiara gerarchia di importanza per diversi tipi di suoni. Ho impostato l'anatra da -2 dB a -6 dB a seconda dell'importanza. Personalmente non mi piace ovvio anatrare nei giochi, quindi ho trascorso molto tempo a ottimizzare la sade in/out time e la quantità di attenuazione del volume. Abbiamo configurato bus separati per il suono spaziale, il suono non spaziale, vo e il bus secco senza riverbero per la musica. Quindi, abbiamo creato bus di priorità elevata, critici e non critici in modo che gli asset siano stati configurati per passare ai loro bus appropriati.

Spero che i professionisti audio là fuori avranno tanto divertimento e entusiasmo lavorare sulle proprie app come ho fatto lavorando su RoboRaid. Non posso aspettare di vedere (e sentire!) che cosa le persone di talento al di fuori di Microsoft verranno in mente per HoloLens.

Provare

Un trucco che ho scoperto di fare determinati eventi (come le esplosione) suono "più grande", come stanno riempiendo la stanza, era creare un asset mono per il suono spaziale e combinarlo con un asset stereo 2D, da riprodurre in 3D. Ci vuole un'ottimizzazione, poiché la presenza di troppe informazioni nel contenuto stereo ridurrà la direzione degli asset mono. Tuttavia, ottenere l'equilibrio giusto comporterà suoni enormi che otterranno i giocatori per girare le loro teste nella direzione giusta.

È possibile provare grandi suoni usando gli asset audio seguenti:

Scenario 1

  1. Scaricare roboraid_enemy_explo_mono.wav e impostare per riprodurre il suono spaziale e assegnarlo a un evento.
  2. Scaricare roboraid_enemy_explo_stereo.wav e impostare per riprodurre lo stereo 2D e assegnare allo stesso evento precedente. Poiché questi asset sono normalizzati in Unity, attenuano il volume di entrambi gli asset in modo che non vengano ritagliati.
  3. Riprodurre entrambi i suoni insieme. Sposta la testa intorno per sentire come sembra spaziale.

Scenario 2

  1. Scaricare roboraid_enemy_explo_summed.wav e impostare per riprodurre il suono spaziale e assegnare a un evento.
  2. Riprodurre questo asset da solo, quindi confrontarlo con l'evento dallo scenario 1.
  3. Provare a bilanciare in modo diverso i file mono e stereo.

Vedi anche