Fallstudie : Verwenden von Raumklang in RoboRaid
In diesem Artikel werden die Herausforderungen beschrieben, denen das Microsoft HoloLens Experience Team beim Erstellen von Audio für den RoboRaid Mixed-Reality-Ego-Shooter gegenüberstand.
Die Technologie
Raumklang ist eines der aufregendsten Merkmale von Microsoft HoloLens, sodass Benutzer erkennen können, was um sie herum geschieht, wenn Sich Objekte nicht in der Sichtlinie befinden.
In RoboRaid ist die offensichtlichste und effektivste Verwendung von Raumklang die Warnung des Spielers vor etwas, das außerhalb seines peripheren Sehens geschieht. Beispielsweise kann der Breacher von einer der gescannten Wände im Raum aus eintreten. Wenn Sie sich nicht vor dem Ort befinden, an dem sie eingegeben wird, können Sie ihn übersehen. Um Sie auf diese Invasion zu warnen, hören Sie ein deutliches Audiosignal, das von der Stelle kommt, die der Sicherheitsverbrecher eingibt, der Sie wissen lässt, dass Sie schnell handeln müssen, um sie zu stoppen.
Abläufe im Hintergrund
Das Erstellen von räumlichem Sound für HoloLens-Apps ist so neu und einzigartig, dass Probleme schwierig zu lösen sind, da es keine früheren Projekte gibt, auf die verwiesen werden kann. Hoffentlich helfen Ihnen diese Beispiele für die Audio-Herausforderungen, mit denen wir bei der Erstellung von RoboRaid konfrontiert waren, beim Erstellen von Audio für Ihre eigenen Apps.
Achten Sie darauf, die CPU zu besteuern
Räumlicher Sound kann für die CPU eine Herausforderung sein. Für eine geschäftige Erfahrung wie RoboRaid war es wichtig, die Anzahl der räumlichen Soundinstanzen jederzeit auf unter acht zu halten. In der Regel war es so einfach wie das Festlegen des Grenzwerts für Instanzen für verschiedene Audioereignisse. Alle Instanzen, die nach Erreichen des Grenzwerts auftreten, werden beendet. Wenn Beispielsweise Drohnen laichen, sind ihre Schreie auf drei Instanzen zu einem bestimmten Zeitpunkt beschränkt. Wenn man bedenkt, dass nur etwa vier Drohnen gleichzeitig spawnen können, sind drei Schreie reichlich, da Ihr Gehirn die vielen ähnlich klingenden Audioereignisse nicht nachverfolgen kann. Dadurch wurden Ressourcen für andere räumliche Soundereignisse frei, z. B. feindliche Explosionen oder Feinde, die sich auf das Schießen vorbereiten.
Belohnung eines erfolgreichen Ausweichens
Die Ausweichmechanik ist eine der wichtigsten Gameplay-Mechaniken in RoboRaid, und auch etwas, das wir für die HoloLens-Erfahrung wirklich einzigartig fanden. Als solche wollten wir dem Spieler erfolgreiche Auslöschungen sehr lohnend machen. Wir haben den Doppler "whizz-by" ziemlich früh in der Entwicklung überzeugend klingen lassen. Zunächst war mein Plan, eine Schleife zu verwenden und sie in Echtzeit mithilfe von Lautstärke, Tonhöhe und Filter zu bearbeiten. Die Umsetzung dafür war sehr aufwendig. Bevor wir Ressourcen für die Erstellung dieses Projekts verpflichteten, haben wir einen billigen Prototyp mit einem Asset mit dem eingebackenen Doppler-Effekt erstellt, um herauszufinden, wie es sich anfühlt. Unser talentierter Entwickler hat es so gemacht, dass dieses Whizz-by-Asset genau 0,7 Sekunden zurückgespielt wurde, bevor das Projektil am Ohr des Spielers vorbeigegangen ist und die Ergebnisse sich erstaunlich anfühlen! Unnötig zu sagen, dass wir die komplexere Lösung verworren und den Prototyp implementiert haben.
(Weitere Informationen zum Erstellen eines Audioobjekts mit integriertem Dopplereffekt finden Sie unter 100 Whooshes in 2 Minuten.)
Ineffektive Sounds ablöschen
Ursprünglich wollten wir einen Explosionssound hinter dem Spieler spielen, nachdem er dem feindlichen Projektil erfolgreich ausgehängt hat, aber wir haben uns entschieden, dies aus verschiedenen Gründen zu löschen. Erstens fühlte es sich nicht so effektiv an wie die Whizz-by SFX, die wir für das Ausweichen verwendet haben. Wenn das Projektil eine Wand hinter dir trifft, wäre im Spiel etwas anderes passiert, das diesen Sound maskieren würde. Zweitens hatten wir keine Kollision auf dem Boden, sodass wir die Explosion nicht zum Spielen bringen konnten, wenn das Projektil den Boden anstelle der Wände traf. Und schließlich gab es noch die CPU-Kosten für räumlichen Sound. Der Elite-Skorpion-Feind (einer, der in die Wand kriechen kann) hat einen speziellen Angriff, der etwa acht Projektile schießt. Dies führte nicht nur zu einem riesigen Chaos in der Mischung, es führte auch zu schrecklichem Knistern, weil es die CPU zu hart traf.
Kommunizieren eines Treffers
Ein interessantes Problem, auf das wir bei der HoloLens gestoßen sind, war, wie schwierig es war, effektiv zu kommunizieren, dass ein Spieler getroffen wurde. Was eine Mixed Reality-Erfahrung erfolgreich macht, ist das Gefühl, dass ihnen die Geschichte passiert. Das bedeutet, dass Sie glauben müssen, dass Sie in Ihrem eigenen Wohnzimmer gegen eine Außerirdische Roboterinvasion kämpfen.
Spieler werden offensichtlich nichts fühlen, wenn sie getroffen werden, also mussten wir einen Weg finden, den Spieler davon zu überzeugen, dass ihnen etwas Schlechtes passiert ist. In herkömmlichen Spielen sehen Sie möglicherweise eine Animation, die Sie darüber informiert, dass Ihr Charakter einen Treffer gemacht hat, oder der Bildschirm könnte rot blinken und Ihr Charakter könnte ein wenig grummeln. Da diese Arten von Hinweisen in einer Mixed Reality-Erfahrung nicht funktionieren, haben wir uns entschieden, den visuellen Hinweis mit einem übertriebenen Sound zu kombinieren, der darauf hinweist, dass Sie Schaden genommen haben. Ich schuf einen großen Sound und machte ihn so prominent in der Mischung, dass es alles wegducken. Um es dann noch mehr hervorzuheben, haben wir einen kurzen Warnsound hinzugefügt, als ob ein nukleares Sub sinken würde.
Großen Sound aus kleinen Lautsprechern erhalten
HoloLens-Lautsprecher sind klein und leicht, um die Anforderungen des Geräts zu erfüllen, sodass Sie nicht erwarten können, zu viel Low-End zu hören. Ähnlich wie bei der Entwicklung für Smartphones oder Handheld-Gaming-Geräte müssen Sounddesigner und Komponisten auf den Frequenzinhalt ihrer Audiodaten achten. Ich entdesigne immer Sounds oder schreibe Musik mit vollem Frequenzbereich, weil das Tragen von Kopfhörern für die Nutzer eine Option ist. Um jedoch die Kompatibilität mit HoloLens-Lautsprechern sicherzustellen, führe ich gelegentlich einen Test durch, indem ich einen EQ in die master jeder DAW einlege, in der ich gerade arbeite. Die EQ-Einstellung besteht aus einem Hochpassfilter um 600 Hz bis 700 Hz (nicht zu steil) und einem Tiefpassfilter bei etwa 10K (steil). Dies sollte Ihnen eine ungefähre Vorstellung davon geben, wie Ihre Sounds auf dem Gerät wiedergegeben werden.
Wenn Sie sich auf den Bass verlassen, um das Gefühl der Akkordänderung in Ihrer Musik zu vermitteln, können Sie feststellen, dass Ihre Musik den Sinn für die Wurzel vollständig verliert, wenn Sie diese EQ-Einstellung anwenden. Um dies zu beheben, habe ich dem Bass eine weitere Schicht hinzugefügt, die eine Oktave höher ist (mit einigen reichen Harmonien) und gemischt, um den Eindruck von Root zurück zu bekommen. Manchmal gibt die Verwendung von Verzerrungen, um die Oberschwingungen zu verstärken, genug Frequenzinhalt, um unser Gehirn denken zu lassen, dass etwas darunter ist. Dies gilt für SFX-ähnliche Einschläge, Explosionen oder Sounds für besondere Momente, wie z. B. Superangriffe eines Chefs. Sie können sich wirklich nicht auf das Low-End verlassen, um dem Spieler ein Gefühl von Wirkung oder Gewicht zu geben. Wie bei Musik half definitiv die Verwendung von Verzerrungen, um etwas Crunch zu geben.
Heben Sie Ihre Audiohinweise hervor
Natürlich wollten alle im Team bombastische Musik, laute Waffen und verrückte Explosionen; Aber sie wollten auch in der Lage sein, Voiceover oder andere spielkritische Audiohinweise zu hören.
Bei einem Konsolenspiel mit vollem Frequenzbereich haben Sie mehr Möglichkeiten, frequenzen abhängig von der Bedeutung des Sounds aufzuteilen. Für RoboRaid war ich in der Anzahl der Frequenzbereiche begrenzt, die ich aus Sounds herauskurven konnte. Wenn Sie den Tiefpassfilter verwenden und sich zu stark vom höheren Ende des Spektrums abkurven, haben Sie nichts mehr im Sound, da es nicht viel Low-End gibt.
Um RoboRaid auf dem Gerät so groß wie möglich klingen zu lassen, mussten wir den dynamischen Bereich der gesamten Erfahrung verringern und das Enten umfassend nutzen, indem wir eine klare Hierarchie von Bedeutung für verschiedene Arten von Sounds geschaffen haben. Je nach Wichtigkeit setz ich das Enten von -2 dB auf -6 dB. Ich persönlich mag das offensichtliche Enten in Spielen nicht, deshalb habe ich viel Zeit damit verbracht, das Ein-/Aus-Timing und die Menge der Lautstärkedämpfung zu optimieren. Wir haben separate Busse für Raumklang, nicht-räumlichen Sound, VO und Trockenbus ohne Hall für Musik eingerichtet. Dann haben wir busse mit hoher Priorität, kritischen und nicht kritischen Bussen erstellt, sodass die Ressourcen für die entsprechenden Busse eingerichtet wurden.
Ich hoffe, dass Audio-Profis dort draußen so viel Spaß und Spannung haben, an ihren eigenen Apps zu arbeiten, wie ich an RoboRaid gearbeitet habe. Ich kann es kaum erwarten, zu sehen (und zu hören!) was die talentierten Leute außerhalb von Microsoft für HoloLens einfallen werden.
Aufzeichnung in Eigenregie
Ein Trick, den ich entdeckt habe, bestimmte Ereignisse (z. B. Explosionen) "größer" klingen zu lassen – wie sie den Raum füllen – bestand darin, ein Mono-Asset für den raumfüllenden Sound zu erstellen und mit einem 2D-Stereoobjekt zu mischen, das in 3D wiedergegeben werden soll. Es ist etwas Optimierung, da zu viele Informationen im Stereoinhalt die Richtung der Monoressourcen verringert. Die richtige Balance führt jedoch zu riesigen Sounds, die spieler dazu bringen, ihren Kopf in die richtige Richtung zu drehen.
Sie können große Sounds selbst ausprobieren, indem Sie die folgenden Audioressourcen verwenden:
Szenario 1
- Laden Sie roboraid_enemy_explo_mono.wav herunter, und legen Sie fest, dass die Wiedergabe über Raumklang erfolgt, und weisen Sie ihn einem Ereignis zu.
- Laden Sie roboraid_enemy_explo_stereo.wav herunter, und legen Sie fest, dass sie in 2D-Stereo wiedergegeben wird, und weisen Sie dasselbe Ereignis wie oben zu. Da diese Ressourcen in Unity normalisiert werden, schwächen Sie das Volumen beider Ressourcen, damit es nicht abgeschnitten wird.
- Beide Sounds zusammen wiedergeben. Bewegen Sie Den Kopf um, um zu spüren, wie räumlich es klingt.
Szenario 2
- Laden Sie roboraid_enemy_explo_summed.wav herunter, und legen Sie fest, dass die Wiedergabe durch räumlichen Sound und die Zuweisung zu einem Ereignis erfolgt.
- Spielen Sie dieses Medienobjekt selbst ab, und vergleichen Sie es dann mit dem Ereignis aus Szenario 1.
- Probieren Sie verschiedene Balancen von Mono- und Stereodateien aus.