Étude de cas - Utilisation du son spatial dans RoboRaid
Cet article décrit les défis auxquels l’équipe d’expérience Microsoft HoloLens a été confrontée lors de la création de l’audio pour le tireur de première personne RoboRaid mixed-reality.
La technologie
Le son spatial est l’une des caractéristiques les plus intéressantes de Microsoft HoloLens, ce qui permet aux utilisateurs de percevoir ce qui se passe autour d’eux lorsque les objets ne sont pas en ligne de vue.
Dans RoboRaid, l’utilisation la plus évidente et efficace du son spatial alerte le joueur à quelque chose qui se passe en dehors de sa vision périphérique. Par exemple, le Violationer peut entrer à partir de l’un des murs scannés dans la pièce. Si vous n’êtes pas confronté à l’emplacement où il entre, vous risquez de le manquer. Pour vous avertir de cette invasion, vous entendrez un peu d’audio distinct provenant de l’endroit où le Violationer entre, ce qui vous permet de savoir que vous devez agir rapidement pour l’arrêter.
Dans les coulisses
La création d’un son spatial pour HoloLens applications est tellement nouvelle et unique que les problèmes peuvent être difficiles à résoudre, car il n’existe aucun projet passé à référencer. Espérons que ces exemples de défis audio que nous avons rencontrés tout en rendant 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 conserver le nombre d’instances sonores spatiales à moins de huit à un moment donné. 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 après l’atteinte de la limite sont tuées. Par exemple, lorsque les drones se déclenchent, leurs cris sont limités à trois instances à un moment donné. Étant donné que seulement quatre drones peuvent se générer à la fois, trois cris sont nombreux, car il n’y a aucun moyen que votre cerveau puisse garder le suivi de ce nombre d’événements audio similaires sonores. 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
Le mécanicien de dodging est l’un des mécanismes de jeu les plus importants de RoboRaid, et aussi quelque chose que nous avons ressenti était vraiment unique à l’expérience HoloLens. Par conséquent, nous voulions faire des dodges réussis très gratifiants pour le joueur. Nous avons obtenu le Doppler « whizz-by » pour sonner assez tôt sur le développement. Initialement, mon plan était d’utiliser une boucle et de la manipuler en temps réel à l’aide du volume, de la hauteur et du filtre. La mise en œuvre de ce projet allait être très élaborée. Avant de valider des ressources pour créer ce prototype, nous avons créé un prototype bon marché à l’aide d’une ressource avec l’effet Doppler cuit juste pour savoir comment il se sentait. Notre développement talentueux l’a fait de sorte que ce whizz-by asset jouerait exactement 0,7 seconde avant que le projectile ne soit passé par l’oreille du joueur et les résultats se sentaient é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é, voir 100 Whooshes en 2 minutes.)
Démanger des sons inefficaces
À l’origine, nous avions voulu 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 le dodge. Au moment où le projectile frappe un mur derrière vous, quelque chose d’autre aurait eu lieu dans le jeu qui masque ce son. Deuxièmement, nous n’avons pas eu de collision sur le sol, donc nous n’avons pas pu obtenir l’explosion à jouer lorsque le projectile a frappé le sol au lieu des murs. Enfin, il y avait le coût processeur du son spatial. L’ennemi elite Scorpion (un qui peut ramper à l’intérieur du mur) a une attaque spéciale qui tire sur environ huit projectiles. Non seulement cela a fait un énorme désordre dans le mix, il a également introduit un craquage terrible parce qu’il a atteint le processeur trop dur.
Communication d’un coup
Une question intéressante que nous avons rencontrée sur le HoloLens a été la façon dont il était difficile de communiquer efficacement qu’un joueur avait été frappé. Ce qui rend une expérience de réalité mixte réussie est le sentiment que l’histoire vous arrive. Cela signifie que vous devez croire que vous combattez une invasion de robot étranger dans votre propre salon.
Les joueurs ne se sentent évidemment rien quand ils sont frappés, donc nous avons dû trouver un moyen de convaincre le joueur que quelque chose de mal est arrivé à eux. 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 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 le signal visuel avec un son exagéré qui indique que vous avez pris des dommages. J’ai créé un gros son, et l’ai fait tellement important dans le mix qu’il a tout canardé vers le bas. Ensuite, pour le faire ressortir encore plus, nous avons ajouté un court son d’avertissement comme si un sous-système nucléaire coulait.
Obtention d’un gros son à partir de petits haut-parleurs
HoloLens haut-parleurs sont petits et légers pour répondre aux besoins de l’appareil. Vous ne pouvez donc pas vous attendre à entendre trop bas de page. Comme pour le développement pour les téléphones intelligents ou les appareils de jeu portables, les concepteurs sonores et les compositeurs doivent être conscients de la fréquence de leur contenu audio. Je conçois toujours des sons ou écrit de la musique avec une plage de fréquence complète, car porter des casques est une option pour les utilisateurs. Toutefois, pour garantir la compatibilité avec HoloLens haut-parleurs, j’exécute un test occasionnellement en plaçant un QE dans le maître de n’importe quel DAW I arrive à travailler. Le paramètre EQ se compose d’un filtre à passe élevé d’environ 600 Hz à 700 Hz (pas trop raide) et d’un filtre à faible passe à environ 10 Ko (raide). Cela devrait vous donner une idée approximative de la façon dont vos sons seront lues sur l’appareil.
Si vous vous appuyez sur la basse pour donner le sens de la modification de l’accord dans votre musique, vous constaterez peut-être 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 un octave plus haut (avec quelques harmoniques riches) et l’ai mélangé pour obtenir le sens de la racine arrière. Parfois, l’utilisation de distorsions pour amplir les harmoniques donnera suffisamment de contenu de fréquence dans la plage supérieure pour que notre cerveau pense qu’il y a quelque chose en dessous. Cela est vrai pour SFX comme les impacts, les explosions ou les sons pour des moments spéciaux, tels que les super attaques d’un patron. Vous ne pouvez vraiment pas compter sur le bas de bout pour donner au joueur un sentiment d’impact ou de poids. Comme avec la musique, l’utilisation de distorsion pour donner un peu de crunch certainement aidé.
Faire ressortir vos signaux audio
Naturellement, tout le monde de l’équipe voulait de la musique bombastique, des armes fortes et des explosions folles; mais ils voulaient également être en mesure d’entendre la voix ou tout autre signal audio critique du jeu.
Sur un jeu console avec une gamme complète de fréquence, 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 de sons. Si vous utilisez un filtre à faible passe et que vous courbé trop à partir de l’extrémité supérieure du spectre, vous n’aurez rien à laisser 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 toute l’expérience et fait une utilisation intensive du canard en créant une hiérarchie claire d’importance pour différents types de sons. J’ai défini 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 temps fondu dans/out minutage et la quantité d’atténuation du volume. Nous avons configuré 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 de haute priorité, critiques et non critiques afin que les ressources soient configurées pour accéder à leurs bus appropriés.
J’espère que les professionnels de l’audio là-bas auront autant de plaisir et d’excitation travaillant sur leurs propres applications que j’ai travaillé sur RoboRaid. Je ne peux pas attendre de voir (et entendre!) ce que les gens talentueux à l’extérieur de Microsoft vont venir avec pour HoloLens.
Faites-le vous-même
Une astuce que j’ai découvert pour faire certains événements (tels que les explosions) son « plus grand », comme ils remplissent la salle, était de créer un élément mono pour le son spatial et de le mélanger avec un élément stéréo 2D, à lire en 3D. Cela prend un réglage, car avoir trop d’informations dans le contenu stéréo réduit la direction des ressources mono. Toutefois, obtenir le bon équilibre entraînera des sons énormes qui permettront aux joueurs de tourner la tête dans la bonne direction.
Vous pouvez essayer de gros sons vous-même à l’aide des ressources audio ci-dessous :
Scénario 1
- Téléchargez roboraid_enemy_explo_mono.wav et définissez-le pour lire le son spatial et attribuez-le à un événement.
- Téléchargez roboraid_enemy_explo_stereo.wav et définissez la lecture en stéréo 2D et affectez-le 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.
- Jouez les deux sons ensemble. Déplacez votre tête pour sentir comment il sonne spatial.
Scénario 2
- Téléchargez roboraid_enemy_explo_summed.wav et définissez-le pour lire le son spatial et affecter à un événement.
- Jouez cette ressource elle-même, puis comparez-la à l’événement du scénario 1.
- Essayez différents équilibres de fichiers mono et stéréo.