Partager via


Étude de cas - Utilisation du son spatial dans RoboRaid

Cet article décrit les défis auxquels l’équipe Microsoft HoloLens Experience a fait face lors de la création d’audio pour le jeu de tir à la première personne de réalité mixte RoboRaid.

La technologie

Le son spatial est l’une des fonctionnalités les plus intéressantes de Microsoft HoloLens, permettant aux utilisateurs de percevoir ce qui se passe autour d’eux lorsque les objets ne sont pas dans la ligne de vision.

Dans RoboRaid, l’utilisation la plus évidente et efficace du son spatial est d’alerter le joueur sur quelque chose qui se passe en dehors de sa vision périphérique. Par exemple, le breacher peut entrer à partir de n’importe lequel des murs scannés dans la pièce. Si vous n’êtes pas face à l’emplacement où il entre, vous risquez de le manquer. Pour vous alerter de cette invasion, vous entendrez un morceau d’audio distinct provenant de l’endroit où le Breacher entre, ce qui vous permet de savoir que vous devez agir rapidement pour l’arrêter.

En coulisses

La création d’un son spatial pour les applications HoloLens est tellement nouvelle et unique que les problèmes peuvent être difficiles à résoudre, car il n’y a pas de projets passés à référencer. Espérons que ces exemples de défis audio que nous avons rencontrés lors de la création de RoboRaid vous aideront à créer de l’audio pour vos propres applications.

N’oubliez pas de taxer le processeur

Le son spatial peut être exigeant sur le processeur. Pour une expérience occupée comme RoboRaid, il était essentiel de maintenir le nombre d’instances sonores spatiales à moins de huit à tout moment. En règle générale, il était aussi simple que de définir la limite d’instances pour différents événements audio. Toutes les instances qui se produisent une fois la limite atteinte sont supprimées. Par exemple, lorsque les drones se reproduisent, leurs cris sont limités à trois instances à un moment donné. Considérant que seulement environ quatre drones peuvent se reproduire à la fois, trois cris sont nombreux, car il n’y a aucun moyen que votre cerveau puisse garder une trace de nombreux événements audio similaires. Cela a libéré des ressources pour d’autres événements sonores spatiaux, comme les explosions ennemies ou les ennemis se préparant à tirer.

Récompense d’une esquive réussie

La mécanique d’esquive est l’un des mécanismes de jeu les plus importants de RoboRaid, et aussi quelque chose qui nous a semblé être vraiment unique à l’expérience HoloLens. En tant que tel, nous voulions faire des esquives réussis très gratifiants pour le joueur. Nous avons obtenu le Doppler « whizz-by » pour sonner convaincant assez tôt dans le développement. Au départ, mon plan était d’utiliser une boucle et de la manipuler en temps réel à l’aide du volume, du pitch et du filtre. La mise en œuvre de cette opération allait être très élaborée. Avant d’engager des ressources pour créer cela, nous avons créé un prototype bon marché à l’aide d’une ressource avec l’effet Doppler intégré juste pour savoir ce que cela ressentait. Notre développeur talentueux a fait en sorte que cette ressource whizz-by jouer exactement 0,7 seconde avant que le projectile soit passé par l’oreille du joueur et les résultats se sont sentis étonnants ! Inutile de dire que nous avons abandonné la solution plus complexe et implémenté le prototype.

(Pour plus d’informations sur la création d’une ressource audio avec l’effet Doppler intégré, consultez 100 Whooshes en 2 minutes.)
Le fait d’esquiver le projectile d’un ennemi récompense le joueur avec un son whizz-by satisfaisant.

Abandon de sons inefficaces

À l’origine, nous voulions jouer un son d’explosion derrière le joueur une fois qu’ils ont réussi à esquiver le projectile ennemi, mais nous avons décidé de laisser tomber cela pour plusieurs raisons. Tout d’abord, il ne s’est pas senti aussi efficace que le whizz-by SFX que nous avons utilisé pour l’esquive. Au moment où le projectile frappe un mur derrière vous, il se serait passé quelque chose d’autre dans le jeu qui masquait ce son. Deuxièmement, nous n’avons pas eu de collision sur le sol, donc nous n’avons pas pu faire jouer l’explosion quand le projectile a frappé le sol au lieu des murs. Enfin, il y avait le coût processeur du son spatial. L’ennemi scorpion d’élite (celui qui peut ramper à l’intérieur du mur) a une attaque spéciale qui tire environ huit projectiles. Non seulement cela a fait un énorme gâchis dans le mélange, il a également introduit un craquement terrible parce qu’il a frappé le processeur trop dur.

Communication d’un accès

Un problème intéressant que nous avons rencontré sur l’HoloLens a été combien il était difficile de communiquer efficacement qu’un joueur avait été touché. Ce qui fait le succès d’une expérience de réalité mixte, c’est le sentiment que l’histoire vous arrive. Cela signifie que vous devez croire que vous combattez une invasion de robot extraterrestre dans votre propre salon.

Les joueurs ne ressentent évidemment rien quand ils sont frappés, donc nous avons dû trouver un moyen de convaincre le joueur que quelque chose de mal leur est arrivé. Dans les jeux classiques, vous pouvez voir une animation qui vous permet de savoir que votre personnage a pris un coup, ou l’écran peut clignoter en rouge et votre personnage peut grogner un peu. Étant donné que ces types de signaux ne fonctionnent pas dans une expérience de réalité mixte, nous avons décidé de combiner l’indice visuel avec un son exagéré qui indique que vous avez subi des dommages. J’ai créé un son énorme, et l’a rendu si important dans le mix qu’il a tout esquissé. Ensuite, pour le faire ressortir encore plus, nous avons ajouté un petit son d’avertissement comme si un sous-marin nucléaire coulait.
Lorsqu’un joueur est touché dans RoboRaid, il voit un signal visuel, mais aussi un signal audio exagéré qui lui indique qu’il a subi des dommages.

Obtention d’un son important à partir de petits haut-parleurs

Les haut-parleurs HoloLens sont petits et légers pour répondre aux besoins de l’appareil, de sorte que vous ne pouvez pas vous attendre à entendre trop bas de terminaison. À l’instar du développement pour les téléphones intelligents ou les appareils de jeu portables, les concepteurs sonores et les compositeurs doivent être conscients du contenu de fréquence de leur audio. Je conçois toujours des sons ou j’écris de la musique avec une gamme de fréquences complète parce que le port du casque est une option pour les utilisateurs. Toutefois, pour garantir la compatibilité avec les haut-parleurs HoloLens, j’effectue un test de temps en temps en mettant un QE dans le master de tout DAW dans lequel je travaille. Le paramètre EQ se compose d’un filtre passe-haut autour de 600 Hz à 700 Hz (pas trop raide) et d’un filtre passe-bas à environ 10 000 (raide). Cela devrait vous donner une idée approximative de la façon dont vos sons seront lus sur l’appareil.

Si vous comptez sur la basse pour donner le sens du changement d’accord dans votre musique, vous pouvez constater que votre musique perd complètement le sens de la racine lorsque vous appliquez ce paramètre EQ. Pour remédier à cela, j’ai ajouté une autre couche à la basse qui est une octave plus haute (avec quelques harmoniques riches) et l’ai mélangée pour obtenir le sens de la racine en arrière. Parfois, l’utilisation de la distorsion pour ampliser les harmoniques donnera suffisamment de contenu de fréquence dans la plage supérieure pour faire croire à notre cerveau qu’il y a quelque chose en dessous. Cela est vrai pour les SFX comme les impacts, les explosions, ou les sons pour les moments spéciaux, comme les super attaques d’un boss. Vous ne pouvez vraiment pas compter sur le bas-end pour donner au joueur un sentiment d’impact ou de poids. Comme avec la musique, l’utilisation de la distorsion pour donner un peu de crunch a certainement aidé.

Faire ressortir vos signaux audio

Naturellement, tous les membres de l’équipe voulaient de la musique bombastique, des fusils forts et des explosions folles ; mais ils voulaient également être en mesure d’entendre la voix off ou tout autre signal audio critique du jeu.

Sur un jeu console avec une gamme complète de fréquences, vous avez plus d’options pour diviser les fréquences en fonction de l’importance du son. Pour RoboRaid, j’étais limité dans le nombre de plages de fréquences que je pouvais courber à partir des sons. Si vous utilisez un filtre passe-bas et que vous effectuez trop de courbes à partir de l’extrémité supérieure du spectre, vous n’aurez plus rien sur le son, car il n’y a pas beaucoup de bas de gamme.

Pour que RoboRaid sonne aussi grand que possible sur l’appareil, nous avons dû réduire la plage dynamique de l’ensemble de l’expérience et largement utilisé le canardage en créant une hiérarchie claire d’importance pour les différents types de sons. J’ai réglé le canardage de -2 dB à -6 dB en fonction de l’importance. Personnellement, je n’aime pas les canards évidents dans les jeux, donc j’ai passé beaucoup de temps à régler le minutage d’entrée/sortie en fondu et la quantité d’atténuation du volume. Nous avons mis en place des bus distincts pour le son spatial, le son non spatial, vo, et le bus sec sans réverbération pour la musique. Ensuite, nous avons créé des bus à priorité élevée, critiques et non critiques afin que les ressources soient configurées pour accéder aux bus appropriés.

J’espère que les professionnels de l’audio là-bas auront autant de plaisir et d’excitation à travailler sur leurs propres applications que je l’ai fait sur RoboRaid. J’ai hâte de voir (et d’entendre !) ce que les gens talentueux en dehors de Microsoft vont trouver pour HoloLens.

À vous de jouer

Un truc que j’ai découvert pour que certains événements (tels que les explosions) sonnent « plus gros », comme ils remplissent la pièce, a été de créer un élément multimédia mono pour le son spatial et de le mélanger avec un élément stéréo 2D, à lire en 3D. Il faut un peu de réglage, car avoir trop d’informations dans le contenu stéréo diminuera la directionnalité des ressources mono. Cependant, l’obtention de l’équilibre se traduira par des sons énormes qui vont amener les joueurs à tourner leurs têtes dans la bonne direction.

Vous pouvez essayer vous-même les gros sons à l’aide des ressources audio ci-dessous :

Scénario 1

  1. Téléchargez roboraid_enemy_explo_mono.wav et définissez-le pour lire le son spatial et l’affecter à un événement.
  2. Téléchargez roboraid_enemy_explo_stereo.wav et définissez la lecture en stéréo 2D et affectez-la au même événement que ci-dessus. Étant donné que ces ressources sont normalisées dans Unity, atténuez le volume des deux ressources afin qu’elles ne soient pas clipées.
  3. Jouez les deux sons ensemble. Déplacez votre tête pour sentir à quel point il sonne spatialement.

Scénario 2

  1. Téléchargez roboraid_enemy_explo_summed.wav et définissez-le pour lire par le biais du son spatial et l’affecter à un événement.
  2. Jouez cette ressource seule, puis comparez-la à l’événement du scénario 1.
  3. Essayez d’équilibrer différents fichiers mono et stéréo.

Voir aussi