Freigeben über


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 Mixed Reality-Ego-Shooter RoboRaid gegenüberstand.

Die Technologie

Räumlicher Klang ist eines der aufregendsten Features von Microsoft HoloLens, mit dem Benutzer wahrnehmen können, was um sie herum vor sich geht, 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 Sicherheitsverbrecher von jeder der gescannten Wände in den Raum gelangen. Wenn Sie sich nicht an dem Ort befinden, an dem sie eingeht, verpassen Sie ihn möglicherweise. Um Sie vor dieser Invasion zu warnen, hören Sie ein deutliches Audiosignal, das von dem Ort stammt, an dem der Sicherheitsverbrecher eingeht, der Sie darüber informiert, dass Sie schnell handeln müssen, um sie zu stoppen.

Hinter den Kulissen

Das Erstellen von räumlichem Sound für HoloLens-Apps ist so neu und einzigartig, dass Probleme schwierig zu lösen sein können, da es keine früheren Projekte gibt, auf die verwiesen werden kann. Hoffentlich helfen Ihnen diese Beispiele für die Audioprobleme, mit denen RoboRaid konfrontiert war, während Sie Audio für Ihre eigenen Apps erstellen.

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 auf unter acht zu einem bestimmten Zeitpunkt zu halten. In der Regel war es so einfach wie das Festlegen des Grenzwerts von Instanzen für verschiedene Audioereignisse. Alle Instanzen, die auftreten, nachdem der Grenzwert erreicht wurde, werden beendet. Wenn Beispielsweise Drohnen spawnen, sind ihre Schreie auf drei Instanzen zu einem beliebigen Zeitpunkt beschränkt. Wenn man bedenkt, dass nur etwa vier Drohnen gleichzeitig erzeugt werden können, sind drei Schreie reichlich, da es keine Möglichkeit gibt, dass Ihr Gehirn die vielen ähnlich klingenden Audioereignisse nachverfolgen kann. Dadurch wurden Ressourcen für andere räumliche Klangereignisse frei, z. B. feindliche Explosionen oder Feinde, die sich auf den Abschuss vorbereiten.

Belohnung eines erfolgreichen Ausweichens

Die Ausweichmechanik ist eine der wichtigsten Spielmechaniken in RoboRaid und auch etwas, das wir für die HoloLens-Erfahrung wirklich einzigartig hielten. Daher wollten wir erfolgreiche Ausschreitungen sehr lohnend für den Spieler machen. Wir haben den Doppler "whizz-by" ziemlich früh in der Entwicklung überzeugend klingen lassen. Ursprünglich 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 dieser Ressource bereitstellen, haben wir einen billigen Prototyp mit einem Asset mit dem Doppler-Effekt erstellt, nur 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 unglaublich anfühlten! Selbstverständlich haben wir die komplexere Lösung abgesenkt und den Prototyp implementiert.

(Weitere Informationen zum Erstellen einer Audioressource mit integriertem Doppler-Effekt finden Sie unter 100 Whooshes in 2 Minuten.)
Das erfolgreiche Ausweichen eines gegnerischen Geschosses belohnt den Spieler mit einem befriedigenden Sound.

Ineffektive Geräusche abtrünnen

Ursprünglich wollten wir einen Explosionssound hinter dem Spieler spielen, sobald er dem feindlichen Geschoss erfolgreich ausgedrückt ist, aber wir haben uns entschieden, dies aus verschiedenen Gründen zu vergraben. Erstens fühlte es sich nicht so effektiv an wie der Whizz-by SFX, den wir für den Ausweichen verwendet haben. Wenn das Projektil eine Wand hinter Ihnen 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 großen Durcheinander 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 auf 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 eine Alien-Roboterinvasion in Ihrem eigenen Wohnzimmer bekämpfen.

Spieler fühlen offensichtlich nichts, wenn sie getroffen werden, also mussten wir einen Weg finden, den Spieler davon zu überzeugen, dass ihnen etwas Schlimmes 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 blinkt rot, und Ihr Charakter könnte ein wenig grunzen. 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 es 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 atomischer Teil sinken würde.
Wenn ein Spieler in RoboRaid getroffen wird, sieht er einen visuellen Hinweis, erhält aber auch einen übertriebenen Audiohinweis, der ihm mitteilt, dass er Schaden genommen hat.

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 die Häufigkeit ihrer Audioinhalte achten. Ich entdesigne immer Sounds oder schreibe Musik mit vollem Frequenzbereich, da das Tragen von Kopfhörern eine Option für die Benutzer ist. Um jedoch die Kompatibilität mit HoloLens-Lautsprechern zu gewährleisten, führe ich gelegentlich einen Test durch, indem ich einen EQ in die master einer DAW stelle, 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 ca. 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 von Akkordwechseln in Ihrer Musik zu vermitteln, können Sie feststellen, dass Ihre Musik vollständig das Gefühl der Wurzel 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 Harmonischen zu verstärken, genug Frequenzinhalt im oberen Bereich, 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, z. B. Superangriffe eines Chefs. Man kann sich wirklich nicht auf das Low-End verlassen, um dem Spieler ein Gefühl von Wirkung oder Gewicht zu geben. Wie bei der Musik half die Verwendung von Verzerrungen, um etwas Crunch zu geben.

Heben Sie Ihre Audiohinweise hervor

Natürlich wollten alle im Team bombastische Musik, laute Geschütze und verrückte Explosionen; sie wollten aber auch Voiceover oder andere spielkritische Audiohinweise hören können.

In einem Konsolenspiel mit vollem Frequenzbereich haben Sie mehr Möglichkeiten, frequenzen je nach Wichtigkeit des Sounds aufzuteilen. Für RoboRaid war ich in der Anzahl der Frequenzbereiche, die ich aus Geräuschen herauskurven konnte, begrenzt. Wenn Sie den Tiefpassfilter verwenden und sich zu stark vom höheren Ende des Spektrums abkurven, bleibt nichts mehr am Sound übrig, da es nicht mehr 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 Ducking umfassend nutzen, indem wir eine klare Hierarchie von Bedeutung für verschiedene Arten von Sounds geschaffen haben. Ich lege das Ducking je nach Wichtigkeit von -2 dB auf -6 dB fest. Ich persönlich mag das offensichtliche Enten in Spielen nicht, daher habe ich viel Zeit damit verbracht, das Ein- und Ausblendungs-Timing und die Menge der Volumendämpfung zu optimieren. Wir richten separate Busse für Raumklang, nicht räumlichen Klang, VO und Trockenbus ohne Hall für Musik ein. 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, audio-Profis da draußen haben genauso viel Spaß und Aufregung, an ihren eigenen Apps zu arbeiten wie ich an RoboRaid. Ich kann es kaum erwarten zu sehen (und zu hören!), was die talentierten Leute außerhalb von Microsoft für HoloLens einfallen lassen.

Selbstständig ausführen

Ein Trick, den ich entdeckte, um bestimmte Ereignisse (z. B. Explosionen) "größer" klingen zu lassen – wie sie den Raum füllen – war es, ein Mono-Asset für den räumlichen Sound zu erstellen und es mit einem 2D-Stereo-Asset zu mischen, das in 3D wiedergegeben werden kann. Dies erfordert eine gewisse Optimierung, da zu viele Informationen im Stereoinhalt die Direktionalität der Monoressourcen verringert. Das richtige Gleichgewicht zu erzielen, 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

  1. Laden Sie roboraid_enemy_explo_mono.wav herunter, und legen Sie fest, dass sie über räumlichen Sound wiedergegeben wird, und weisen Sie ihn einem Ereignis zu.
  2. 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, dämpfung Sie das Volumen beider Ressourcen, sodass es nicht abgeschnitten wird.
  3. Beide Sounds zusammen wiedergeben. Bewegen Sie Ihren Kopf, um zu fühlen, wie räumlich es klingt.

Szenario 2

  1. Laden Sie roboraid_enemy_explo_summed.wav herunter, und legen Sie fest, dass sie über räumlichen Sound wiedergegeben und einem Ereignis zugewiesen werden.
  2. Spielen Sie diese Ressource selbst ab, und vergleichen Sie es dann mit dem Ereignis aus Szenario 1.
  3. Probieren Sie eine andere Balance von Mono- und Stereodateien aus.

Siehe auch