Případová studie – Použití prostorového zvuku v RoboRaid

Tento článek popisuje výzvy, kterým tým prostředí Microsoft HoloLens čelí při vytváření zvuku pro střílečky hybridní reality RoboRaid z první osoby.

Technologie

Prostorový zvuk je jednou z nejzajímavějších funkcí Microsoft HoloLens a umožňuje uživatelům vnímat, co se děje kolem nich, když objekty nejsou v dohledu.

V RoboRaid je nejzřetelnějším a nejúčinnějším použitím prostorového zvuku upozornění hráče na něco, co se děje mimo jeho periferní zrak. Porušení zabezpečení může například vstoupit z kterékoli z naskenovaných zdí v místnosti. Pokud se nenacházíte na místo, kam zadáváte, může vám to chybět. Abyste na tuto invazi upozornili, uslyšíte jedinečný zvuk, který přichází z místa, kde vniká, a který vás upozorní, že potřebujete rychle jednat, abyste ji zastavili.

Informace pro pokročilé uživatele

Vytváření prostorového zvuku pro aplikace HoloLens je tak nové a jedinečné, že problémy může být obtížné vyřešit, protože neexistují žádné projekty, na které by bylo možné odkazovat. Doufejme, že vám tyto příklady problémů se zvukem, kterým čelíme při vytváření nástroje RoboRaid, pomůžou při vytváření zvuku pro vaše vlastní aplikace.

Dbejte na zdanění procesoru.

Prostorový zvuk může být náročný na procesor. Pro zaneprázdněné prostředí, jako je RoboRaid, bylo důležité zachovat počet instancí prostorového zvuku pod osm v daném okamžiku. Obvykle to bylo stejně snadné jako nastavení limitu instancí pro různé zvukové události. Všechny instance, ke kterým dojde po dosažení limitu, se ukončí. Například při výskytu dronů jsou jejich výkřiky v daném okamžiku omezené na tři instance. Vzhledem k tomu, že jen asi čtyři drony se mohou spustit najednou, tři výkřiky jsou spousty, protože neexistuje způsob, jak váš mozek může sledovat mnoho podobně znějících zvukových událostí. Tím se uvolnily prostředky pro další události prostorového zvuku, jako jsou nepřátelské exploze nebo nepřátelé připravující se na střílet.

Odměna za úspěšný oddge

Mechanika odklánění je jednou z nejdůležitějších herních mechanik v RoboRaid a také něco, co jsme měli pocit, že je skutečně jedinečné pro prostředí HoloLens. Proto jsme chtěli, aby úspěšné dodges byly pro hráče velmi přínosné. Dostali jsme Doppler "whizz-by" zní přesvědčivě poměrně brzy ve vývoji. Původně jsem chtěl použít smyčku a manipulovat s ní v reálném čase pomocí hlasitosti, výšky tónu a filtru. Implementace pro tento postup byla velmi propracovaná. Před vytvořením prostředků jsme vytvořili levný prototyp s využitím prostředku s Dopplerovým efektem, abychom zjistili, jak to vypadalo. Náš talentovaný vývojář to udělal tak, že tento whizz-by asset by se hrál přesně 0,7 sekundy předtím, než projektil prošel hráče ucho a výsledky se cítily úžasné! Netřeba říkat, že jsme odvráceli složitější řešení a implementovali prototyp.

(Další informace o vytvoření zvukového assetu s integrovaným Dopplerovým efektem najdete v tématu 100 Whooshes za 2 minuty.)
Úspěšné uhýbání nepřátelského projektilu odměňuje hráče uspokojivým zvukem sviští-by.

Stopování neúčinných zvuků

Původně jsme chtěli přehrát zvuk výbuchu za hráčem, jakmile se úspěšně vyhýbají nepřátelskému projektilu, ale rozhodli jsme se to z několika důvodů odpálit. Za prvé, necítil se tak efektivní jako whizz-by SFX, který jsme použili pro dodge. Než projektil narazí na zeď za vámi, stalo by se ve hře něco jiného, co by tento zvuk maskovalo. Za druhé, nedošlo k kolizi na podlaze, takže jsme nemohli dostat explozi do hry, když projektil místo do zdí narazil na podlahu. A nakonec byly náklady na procesor prostorového zvuku. Elite Scorpion nepřítel (jeden, který se může plazit uvnitř zdi) má speciální útok, který střílí asi osm projektilů. Nejen, že to udělalo obrovský nepořádek v mixu, to také zavedlo strašné praskání, protože to bylo zasaženo procesor příliš tvrdě.

Komunikace s hitem

Zajímavým problémem, na který jsme narazili na HoloLens, bylo, jak těžké bylo efektivně informovat o tom, že byl hráč zasažen. To, co dělá zážitek z hybridní reality úspěšný, je pocit, že se příběh děje s vámi. To znamená, že musíte věřit, že bojujete s invazí cizího robota ve vašem vlastním obývacím pokoji.

Hráči samozřejmě nebudou cítit nic, když dostanou ránu, takže jsme museli najít způsob, jak hráče přesvědčit, že se jim stalo něco špatného. V běžných hrách můžete vidět animaci, která vás upozorní, že vaše postava udělala hit, nebo může obrazovka blikat červeně a vaše postava může trochu zabrušovat. Vzhledem k tomu, že tyto typy upozornění nefungují v prostředí hybridní reality, rozhodli jsme se vizuální upozornění zkombinovat s přehnaným zvukem, který značí, že jste se poškodili. Vytvořil jsem velký zvuk a udělal jsem ho tak výrazný v mixu, že to všechno skrčilo. Pak, aby to ještě více vyniklo, jsme přidali krátký varovný zvuk, jako by se potopilo jaderné ponorky.
Když hráč dostane zásah v RoboRaid, uvidí vizuální upozornění, ale také dostane zveličené zvukové upozornění, které mu říká, že se poškodí.

Získání velkého zvuku z malých reproduktorů

Reproduktory HoloLens jsou malé a lehké, aby vyhovovaly potřebám zařízení, takže nemůžete očekávat, že uslyšíte příliš mnoho low-endu. Podobně jako vývoj pro smartphony nebo kapesní herní zařízení, zvukoví návrháři a skladatelé musí mít na paměti frekvenci obsahu jejich zvuku. Vždy navrhuji zvuky nebo píšu hudbu s plným frekvenčním rozsahem, protože nošení sluchátek je možnost pro uživatele. Nicméně, aby byla zajištěna kompatibilita s reproduktory HoloLens, občas spustím test tím, že umístím EQ do masteru jakéhokoli DAW, ve které pracuji. Nastavení ekvalizéru se skládá z filtru s vysokým průchodem přibližně 600 Hz až 700 Hz (ne příliš strmé) a nízkého průchodu přibližně 10 K (strmé). To by vám mělo poskytnout přibližnou představu o tom, jak se budou zvuky přehrávat na zařízení.

Pokud se spoléháte na baskytary, abyste získali pocit změny akordů ve vaší hudbě, možná zjistíte, že vaše hudba při použití tohoto nastavení ekvalizéru zcela ztratí smysl pro kořen. Abych to napravil, přidal jsem další vrstvu baskytary, která je o jednu oktávu vyšší (s některými bohatými harmoniemi), a míchal jsem ji, abych získal pocit kořenového zpět. Někdy použití zkreslení ke zesílení harmonií poskytne dostatek obsahu frekvence v horním rozsahu, aby náš mozek myslel, že je něco pod ním. To platí pro SFX, jako jsou nárazy, exploze nebo zvuky pro zvláštní okamžiky, jako jsou superútoky šéfa. Opravdu se nemůžete spoléhat na low-end, aby hráč získal pocit dopadu nebo hmotnosti. Stejně jako u hudby, použití zkreslení dát nějaké crunch určitě pomohlo.

Vyniknou zvukové signály

Přirozeně, všichni v týmu chtěli bombastickou hudbu, hlasité zbraně a šílené výbuchy; ale také chtěli slyšet voiceover nebo jiné důležité herní zvukové signály.

Na konzoli hry s plným rozsahem frekvence máte více možností, jak rozdělit frekvence v závislosti na důležitosti zvuku. Pro RoboRaid jsem byl omezený v počtu rozsahů frekvencí, které jsem mohl vykouřit ze zvuků. Pokud použijete filtr low-pass a příliš se od horního konce spektra zakřivete, nebudete mít na zvuku nic, protože není mnoho low-endu.

Aby byl zvuk RoboRaid na zařízení co největší, museli jsme snížit dynamický rozsah celého prostředí a ve velké míře jsme využili funkci ducking tím, že jsme vytvořili jasnou hierarchii důležitosti pro různé typy zvuků. Nastavil jsem káčátko z -2 dB na -6 dB v závislosti na důležitosti. Já osobně nemám rád zřejmé kachny ve hrách, takže jsem strávil spoustu času laděním časování zeslabení / ukončení a množství zeslabení hlasitosti. Vytvořili jsme samostatné sběrnice pro prostorový zvuk, neprostorový zvuk, VO a suchou sběrnici bez dozvuku pro hudbu. Pak jsme vytvořili sběrnice s vysokou prioritou, kritické a nekrité sběrnice, takže prostředky byly nastaveny tak, aby přechávaly do příslušných sběrnic.

Doufám, že audio profesionálové tam budou mít tolik zábavy a vzrušení při práci na svých vlastních aplikacích, jako jsem pracoval na RoboRaid. Nemůžu se dočkat, až uvidím (a uslyším!), s čím přijdou talentované lidi mimo Microsoft pro HoloLens.

Udělejte to sami

Jeden trik, který jsem zjistil, aby určité události (jako výbuchy) zvuk "větší" - jako by vyplňovaly místnost - bylo vytvořit mono asset pro prostorový zvuk a kombinovat ho s 2D stereo asset, který se má přehrávat ve 3D. Je potřeba ho doladit, protože příliš mnoho informací ve stereo obsahu sníží směrovost mono assetů. Nicméně, správné vyvážení bude mít za následek obrovské zvuky, které přimějí hráče otočit hlavy správným směrem.

Velké zvuky si můžete vyzkoušet sami pomocí zvukových prostředků níže:

Scénář 1

  1. Stáhněte si soubor roboraid_enemy_explo_mono.wav a nastavte přehrávání prostorového zvuku a přiřaďte ho k události.
  2. Stáhněte si soubor roboraid_enemy_explo_stereo.wav a nastavte přehrávání ve 2D stereo a přiřaďte stejnou událost jako výše. Vzhledem k tomu, že se tyto prostředky normalizují na Unity, zmenší se objem obou prostředků tak, aby se neořížil.
  3. Přehrajte oba zvuky společně. Pohybem hlavy vycítíte, jak prostorově to zní.

Scénář 2

  1. Stáhněte si soubor roboraid_enemy_explo_summed.wav a nastavte přehrávání prostorového zvuku a přiřazení události.
  2. Přehrajte tento prostředek sám a pak ho porovnejte s událostí ze scénáře 1.
  3. Vyzkoušejte různé vyvážení monofonních a stereofonních souborů.

Viz také