HoloLens (1ère génération) Spatial 220 : Son spatial
Important
Les tutoriels Mixed Reality Academy ont été conçus avec HoloLens (1ère génération), Unity 2017 et Mixed Reality casques immersifs à l’esprit. Nous estimons qu’il est important de laisser ces tutoriels à la disposition des développeurs qui recherchent encore des conseils pour développer des applications sur ces appareils. Ces didacticiels ne seront pas mis à jour avec les derniers ensembles d’outils ou interactions utilisés pour HoloLens 2 et peuvent ne pas être compatibles avec les versions plus récentes d’Unity. Ils sont fournis dans le but de fonctionner sur les appareils pris en charge. Une nouvelle série de tutoriels a été publiée pour HoloLens 2.
Le son spatial donne vie aux hologrammes et leur donne une présence dans notre monde. Les hologrammes sont composés à la fois de lumière et de son, et si vous perdez de vue vos hologrammes, le son spatial peut vous aider à les trouver. Le son spatial n’est pas comme le son typique que vous entendriez à la radio, c’est le son qui est positionné dans l’espace 3D. Avec le son spatial, vous pouvez faire en sorte que les hologrammes sonnent comme s’ils sont derrière vous, à côté de vous ou même sur votre tête ! Dans ce cours, vous allez :
- Configurez votre environnement de développement pour utiliser Microsoft Spatial Sound.
- Utilisez Spatial Sound pour améliorer les interactions.
- Utilisez Spatial Sound conjointement avec le mappage spatial.
- Comprendre les meilleures pratiques en matière de conception et de mixage sonores.
- Utilisez le son pour améliorer les effets spéciaux et amener l’utilisateur dans le monde Mixed Reality.
Prise en charge des appareils
Cours | HoloLens | Casques immersifs |
---|---|---|
Réalité mixte - Fonctionnalités spatiales - Cours 220 : Son spatial | ✔️ | ✔️ |
Avant de commencer
Prérequis
- Un Windows 10 PC configuré avec les outils appropriés installés.
- Une fonctionnalité de programmation C# de base.
- Vous devez avoir terminé MR Basics 101.
- Appareil HoloLens configuré pour le développement.
Fichiers projet
- Téléchargez les fichiers requis par le projet. Nécessite Unity 2017.2 ou version ultérieure.
- Si vous avez toujours besoin de la prise en charge d’Unity 5.6, utilisez cette version. Cette version n’est peut-être plus à jour.
- Si vous avez toujours besoin de la prise en charge d’Unity 5.5, utilisez cette version. Cette version n’est peut-être plus à jour.
- Si vous avez toujours besoin de la prise en charge d’Unity 5.4, utilisez cette version. Cette version n’est peut-être plus à jour.
- Annulez l’archivage des fichiers sur votre bureau ou dans un autre emplacement facile d’accès.
Notes
Si vous souhaitez parcourir le code source avant de le télécharger, il est disponible sur GitHub.
Errata et notes
- « Activer juste mon code » doit être désactivé (décoché) dans Visual Studio sous Outils-Options-Débogage>> afin d’atteindre des points d’arrêt dans votre code.
Chapitre 1 - Configuration d’Unity
Objectifs
- Modifiez la configuration du son d’Unity pour utiliser Microsoft Spatial Sound.
- Ajouter un son 3D à un objet dans Unity.
Instructions
- Démarrez Unity.
- Sélectionnez Ouvrir.
- Accédez à votre Bureau et recherchez le dossier que vous avez précédemment archivé.
- Cliquez sur le dossier Starting\Decibel , puis appuyez sur le bouton Sélectionner un dossier .
- Attendez que le projet se charge dans Unity.
- Dans le panneau Projet , ouvrez Scenes\Decibel.unity.
- Dans le panneau Hiérarchie , développez HologramCollection et sélectionnez P0LY.
- Dans l’inspecteur, développez AudioSource et notez qu’il n’existe aucune zone Spatialize case activée.
Par défaut, Unity ne charge pas de plug-in spatializer. Les étapes suivantes activent Spatial Sound dans le projet.
- Dans le menu supérieur d’Unity, accédez à Modifier l’audio > des paramètres > du projet.
- Recherchez la liste déroulante Plug-in Spatializer , puis sélectionnez MS HRTF Spatializer.
- Dans le panneau Hiérarchie , sélectionnez HologramCollection > P0LY.
- Dans le panneau Inspecteur , recherchez le composant Source audio .
- Cochez la case Spatialize.
- Faites glisser le curseur Fusion spatiale jusqu’en 3D, ou entrez 1 dans la zone d’édition.
Nous allons maintenant générer le projet dans Unity et configurer la solution dans Visual Studio.
- Dans Unity, sélectionnez Paramètres de build de fichier>.
- Cliquez sur Ajouter des scènes ouvertes pour ajouter la scène.
- Sélectionnez plateforme Windows universelle dans la liste Plateforme, puis cliquez sur Changer de plateforme.
- Si vous développez spécifiquement pour HoloLens, définissez Appareil cible sur HoloLens. Sinon, laissez-le sur n’importe quel appareil.
- Vérifiez que le type de build est défini sur D3D et que le KIT de développement logiciel (SDK) a la valeur Dernier installé (qui doit être sdk 16299 ou version ultérieure).
- Cliquez sur Générer.
- Créez un dossier nommé « App ».
- Cliquez sur le dossier Application .
- Appuyez sur Sélectionner un dossier.
Une fois Unity terminé, une fenêtre Explorateur de fichiers s’affiche.
- Ouvrez le dossier Application .
- Ouvrez la solution Decibel Visual Studio.
En cas de déploiement sur HoloLens :
- À l’aide de la barre d’outils supérieure de Visual Studio, remplacez la cible Debug par Release et d’ARM par x86.
- Cliquez sur la flèche déroulante en regard du bouton Ordinateur local, puis sélectionnez Ordinateur distant.
- Entrez l’adresse IP de votre appareil HoloLens et définissez Mode d’authentification sur Universel (protocole non chiffré). Cliquez sur Sélectionner. Si vous ne connaissez pas l’adresse IP de votre appareil, recherchez dans Paramètres > Réseau & Options avancées Internet>.
- Dans la barre de menus supérieure, cliquez sur Déboguer -> Démarrer sans débogage ou appuyez sur Ctrl + F5. S’il s’agit de la première fois qu’il s’agit d’un déploiement sur votre appareil, vous devez l’associer à Visual Studio.
En cas de déploiement sur un casque immersif :
- À l’aide de la barre d’outils supérieure dans Visual Studio, remplacez la cible Debug par Release et d’ARM par x64.
- Vérifiez que la cible de déploiement est définie sur Ordinateur local.
- Dans la barre de menus supérieure, cliquez sur Déboguer -> Démarrer sans débogage ou appuyez sur Ctrl + F5.
Chapitre 2 - Son spatial et interaction
Objectifs
- Améliorez le réalisme de l’hologramme à l’aide du son.
- Diriger le regard de l’utilisateur à l’aide du son.
- Fournissez des commentaires sur les mouvements à l’aide du son.
Partie 1 - Améliorer le réalisme
Concepts clés
- Spatialiser les sons d’hologramme.
- Les sources sonores doivent être placées à un emplacement approprié sur l’hologramme.
L’emplacement approprié pour le son va dépendre de l’hologramme. Par exemple, si l’hologramme est d’un humain, la source sonore doit être située près de la bouche et non des pieds.
Instructions
Les instructions suivantes attachent un son spatialisé à un hologramme.
- Dans le panneau Hiérarchie , développez HologramCollection et sélectionnez P0LY.
- Dans le panneau Inspecteur , dans AudioSource, cliquez sur le cercle en regard de AudioClip et sélectionnez PolyHover dans la fenêtre contextuelle.
- Cliquez sur le cercle en regard de Sortie , puis sélectionnez SoundEffects dans la fenêtre contextuelle.
Project Decibel utilise un composant Unity AudioMixer pour permettre l’ajustement des niveaux sonores pour les groupes de sons. En regroupant ainsi les sons, le volume global peut être ajusté tout en conservant le volume relatif de chaque son.
- Dans AudioSource, développez Paramètres audio 3D.
- Définissez niveau Doppler sur 0.
La définition du niveau Doppler sur zéro désactive les changements de tangage causés par le mouvement (l’un ou l’autre de l’hologramme ou de l’utilisateur). Un exemple classique de Doppler est une voiture qui se déplace rapidement. À mesure que la voiture approche d’un écouteur stationnaire, le ton du moteur s’élève. Quand il passe l’écouteur, la hauteur diminue avec la distance.
Partie 2 - Diriger le regard de l’utilisateur
Concepts clés
- Utilisez le son pour attirer l’attention sur les hologrammes importants.
- Les oreilles aident à diriger l’endroit où les yeux doivent regarder.
- Le cerveau a des attentes apprises.
Un exemple d’attentes apprises est que les oiseaux sont généralement au-dessus de la tête des humains. Si un utilisateur entend un bruit d’oiseau, sa réaction initiale consiste à rechercher vers le haut. Placer un oiseau au-dessous de l’utilisateur peut l’amener à faire face à la direction correcte du son, mais être incapable de trouver l’hologramme en fonction de l’attente de la nécessité de rechercher vers le haut.
Instructions
Les instructions suivantes permettent à P0LY de se cacher derrière vous, afin que vous puissiez utiliser le son pour localiser l’hologramme.
- Dans le panneau Hiérarchie , sélectionnez Gestionnaires.
- Dans le panneau Inspecteur , recherchez Gestionnaire d’entrée vocale.
- Dans Gestionnaire d’entrées vocales, développez Go Masquer.
- Remplacez No Function par PolyActions.GoHide.
Partie 3 - Commentaires sur les mouvements
Concepts clés
- Fournir à l’utilisateur une confirmation de mouvement positive à l’aide du son
- Ne surchargez pas l’utilisateur - des sons trop forts entrent dans le chemin
- Les sons subtils fonctionnent mieux - ne pas occulter l’expérience
Instructions
- Dans le panneau Hiérarchie , développez HologramCollection.
- Développez EnergyHub , puis sélectionnez Base.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant et ajoutez le gestionnaire de sons de mouvement.
- Dans Gestionnaire de sons de mouvement, cliquez sur le cercle en regard de Navigation Started Clip et Navigation Updated Clip , puis sélectionnez RotateClick dans la fenêtre contextuelle pour les deux.
- Double-cliquez sur « GestureSoundHandler » pour charger dans Visual Studio.
Le gestionnaire de sons de mouvement effectue les tâches suivantes :
- Créez et configurez un AudioSource.
- Placez l’AudioSource à l’emplacement du GameObject approprié.
- Lit l’AudioClip associé au mouvement.
Génération et déploiement
- Dans Unity, sélectionnez Paramètres de build de fichier>.
- Cliquez sur Générer.
- Cliquez sur le dossier Application .
- Appuyez sur Sélectionner un dossier.
Vérifiez que la barre d’outils indique « Release », « x86 » ou « x64 » et « Remote Device ». Si ce n’est pas le cas, il s’agit de la instance de codage de Visual Studio. Vous devrez peut-être rouvrir la solution à partir du dossier Application.
- Si vous y êtes invité, rechargez les fichiers projet.
- Comme précédemment, déployez à partir de Visual Studio.
Une fois l’application déployée :
- Observez comment le son change à mesure que vous vous déplacez autour de P0LY.
- Dites « Go Hide » pour que P0LY se déplace vers un emplacement derrière vous. Trouvez-le par le son.
- Observez la base du hub de l’énergie. Appuyez et faites glisser vers la gauche ou la droite pour faire pivoter l’hologramme et remarquer comment le son de clic confirme le mouvement.
Remarque : Il existe un panneau de texte qui vous accompagne. Celui-ci contiendra les commandes vocales disponibles que vous pouvez utiliser tout au long de ce cours.
Chapitre 3 - Son spatial et mappage spatial
Objectifs
- Confirmez l’interaction entre les hologrammes et le monde réel à l’aide du son.
- Oclude son à l’aide du monde physique.
Partie 1 - Interaction physique dans le monde
Concepts clés
- Les objets physiques produisent généralement un son lors de la rencontre d’une surface ou d’un autre objet.
- Les sons doivent être appropriés dans le contexte de l’expérience.
Par exemple, la mise en place d’une tasse sur une table devrait faire un son plus silencieux que de faire tomber un bloc sur un morceau de métal.
Instructions
- Dans le panneau Hiérarchie , développez HologramCollection.
- Développez EnergyHub, puis sélectionnez Base.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant , puis appuyez sur Placer avec le son et l’action.
- Dans Appuyez pour placer avec le son et l’action :
- Cochez Placer le parent lors de l’appui.
- Définissez Placement Sound surPlace.
- Définissez Pickup Sound sur Pickup.
- Appuyez sur + en bas à droite sous Action de prise en charge et Action de placement. Faites glisser EnergyHub de la scène vers les champs Aucun (Objet).
- Sous Action de collecte, cliquez sur Aucune fonction ->EnergyHubBase ->ResetAnimation.
- Sous Action de placement, cliquez sur Aucune fonction ->EnergyHubBase ->OnSelect.
Partie 2 - Occlusion sonore
Concepts clés
- Le son, comme la lumière, peut être obstrué.
Un exemple classique est une salle de concert. Quand un écouteur se tient à l’extérieur de la salle et que la porte est fermée, la musique sonne étouffée. Il y a aussi généralement une réduction du volume. Lorsque la porte est ouverte, le spectre complet du son est entendu au volume réel. Les sons à haute fréquence sont généralement absorbés plus que les basses fréquences.
Instructions
- Dans le panneau Hiérarchie , développez HologramCollection et sélectionnez P0LY.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant et ajouter un émetteur audio.
La classe Audio Emitter fournit les fonctionnalités suivantes :
- Restaure toutes les modifications apportées au volume de l’AudioSource.
- Effectue une commande Physics.RaycastNonAlloc à partir de la position de l’utilisateur dans la direction du GameObject auquel l’AudioEmitter est attaché.
La méthode RaycastNonAlloc est utilisée comme optimisation des performances pour limiter les allocations ainsi que le nombre de résultats retournés.
- Pour chaque IAudioInfluencer rencontré, appelle la méthode ApplyEffect .
- Pour chaque IAudioInfluencer précédent qui n’est plus rencontré, appelez la méthode RemoveEffect .
Notez qu’AudioEmitter est mis à jour sur des échelles de temps humaines, plutôt que sur une base par image. Cela est fait parce que les humains ne se déplacent généralement pas assez vite pour que l’effet ait besoin d’être mis à jour plus fréquemment que tous les trimestres ou la moitié de seconde. Les hologrammes qui se téléportent rapidement d’un emplacement à un autre peuvent briser l’illusion.
- Dans le panneau Hiérarchie , développez HologramCollection.
- Développez EnergyHub , puis sélectionnez BlobOutside.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant et ajouter Audio Occluder.
- Dans Audio Occluder, définissez La fréquence de coupure sur 1500.
Ce paramètre limite les fréquences AudioSource à 1500 Hz et moins.
- Définissez Volume Pass Through sur0,9.
Ce paramètre réduit le volume de l’AudioSource à 90 % de son niveau actuel.
Audio Occluder implémente IAudioInfluencer pour :
- Appliquez un effet d’occlusion à l’aide d’un AudioLowPassFilter qui est attaché à l’option AudioSource managée acheter l’AudioEmitter.
- Applique l’atténuation du volume à AudioSource.
- Désactive l’effet en définissant une fréquence de limite neutre et en désactivant le filtre.
La fréquence utilisée comme neutre est de 22 kHz (22 000 Hz). Cette fréquence a été choisie parce qu’elle est supérieure à la fréquence maximale nominale qui peut être entendue par l’oreille humaine, ce qui n’a aucun impact perceptible sur le son.
- Dans le panneau Hiérarchie , sélectionnez SpatialMapping.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant et ajouter Audio Occluder.
- Dans Audio Occluder, définissez La fréquence de coupure sur 750.
Lorsque plusieurs obluders se trouvent dans le chemin entre l’utilisateur et AudioEmitter, la fréquence la plus basse est appliquée au filtre.
- Définissez Volume Pass Through sur0,75.
Lorsque plusieurs obluders se trouvent dans le chemin entre l’utilisateur et l’AudioEmitter, le passage de volume est appliqué de manière additive.
- Dans le panneau Hiérarchie , sélectionnez Gestionnaires.
- Dans le panneau Inspecteur , développez Gestionnaire d’entrée vocale.
- Dans Gestionnaire d’entrée vocale, développez Go Charge.
- Remplacez No Function par PolyActions.GoCharge.
- Développez Viens ici.
- Remplacez No Function par PolyActions.ComeBack.
Génération et déploiement
- Comme précédemment, générez le projet dans Unity et déployez-le dans Visual Studio.
Une fois l’application déployée :
- Dites « Go Charge » pour que P0LY entre dans le hub d’énergie.
Notez la modification du son. Ça devrait paraître étouffé et un peu plus calme. Si vous êtes en mesure de vous positionner avec un mur ou un autre objet entre vous et l’Energy Hub, vous devriez remarquer un nouveau brouillage du son dû à l’occlusion par le monde réel.
- Dites « Venez ici » pour que P0LY quitte le hub d’énergie et se positionne en face de vous.
Notez que l’occlusion sonore est supprimée une fois que P0LY quitte l’Energy Hub. Si vous entendez toujours l’occlusion, P0LY peut être obstrué par le monde réel. Essayez de vous déplacer pour vous assurer que vous avez une ligne de vue claire sur P0LY.
Partie 3 - Modèles d’espace
Concepts clés
- La taille de l’espace fournit des files d’attente subliminales qui contribuent à la localisation du son.
- Les modèles de salle sont définis par AudioSource.
- MixedRealityToolkit pour Unity fournit du code pour définir le modèle de salle.
- Pour Mixed Reality expériences, sélectionnez le modèle de salle qui correspond le mieux à l’espace réel.
Si vous créez un scénario de réalité virtuelle, sélectionnez le modèle de salle qui correspond le mieux à l’environnement virtuel.
Chapitre 4 - Conception sonore
Objectifs
- Comprendre les considérations relatives à une conception sonore efficace.
- Découvrez les techniques de mélange et les instructions.
Partie 1 - Conception du son et de l’expérience
Cette section décrit les principales considérations et recommandations en matière de conception du son et de l’expérience.
Normaliser tous les sons
Cela évite d’avoir besoin d’un code de cas spécial pour ajuster les niveaux de volume par son, ce qui peut prendre du temps et limiter la possibilité de mettre à jour facilement les fichiers audio.
Concevoir pour une expérience sans attache
HoloLens est un ordinateur holographique entièrement autonome et non attaché. Vos utilisateurs peuvent et utiliseront vos expériences lors du déplacement. Veillez à tester votre mixage audio en vous promenant.
Émettre du son à partir d’emplacements logiques sur vos hologrammes
Dans le monde réel, un chien n’aboie pas de sa queue et la voix d’un humain ne vient pas de ses pieds. Évitez que vos sons émettent des parties inattendues de vos hologrammes.
Pour les petits hologrammes, il est raisonnable d’émettre du son à partir du centre de la géométrie.
Les sons familiers sont les plus localisables
La voix humaine et la musique sont très faciles à localiser. Si quelqu’un appelle votre nom, vous êtes en mesure de déterminer très précisément à partir de quelle direction la voix est venue et à quelle distance. Les sons courts et inconnus sont plus difficiles à localiser.
Être conscient des attentes des utilisateurs
L’expérience de vie joue un rôle dans notre capacité à identifier l’emplacement d’un son. C’est l’une des raisons pour lesquelles la voix humaine est particulièrement facile à localiser. Il est important de connaître les attentes apprises de votre utilisateur lors de la mise en place de vos sons.
Par exemple, quand quelqu’un entend un chant d’oiseau, il lève généralement les yeux, car les oiseaux ont tendance à être au-dessus de la ligne de vue (volant ou dans un arbre). Il n’est pas rare qu’un utilisateur tourne dans la direction correcte d’un son, mais regarde dans la mauvaise direction verticale et devient confus ou frustré quand il ne parvient pas à trouver l’hologramme.
Éviter les émetteurs masqués
Dans le monde réel, si nous entendons un son, nous pouvons généralement identifier l’objet qui émet le son. Cela devrait également être vrai dans vos expériences. Il peut être très déconcertant pour les utilisateurs d’entendre un son, de savoir d’où provient le son et de ne pas pouvoir voir un objet.
Il existe quelques exceptions à cette ligne directrice. Par exemple, les sons ambiants tels que les grillons dans un champ n’ont pas besoin d’être visibles. L’expérience de vie nous permet de connaître la source de ces sons sans avoir besoin de la voir.
Partie 2 - Mixage sonore
Ciblez votre mix pour un volume de 70 % sur HoloLens
Mixed Reality expériences permettent de voir les hologrammes dans le monde réel. Ils doivent également permettre d’entendre des sons du monde réel. Une cible de volume de 70 % permet à l’utilisateur d’entendre le monde qui l’entoure ainsi que le son de votre expérience.
HoloLens à 100 % du volume devrait noyer les sons externes
Un niveau de volume de 100 % s’apparente à une expérience de réalité virtuelle. Visuellement, l’utilisateur est transporté dans un autre monde. La même devrait tenir vrai audibly.
Utiliser Unity AudioMixer pour ajuster les catégories de sons
Lors de la conception de votre mixage, il est souvent utile de créer des catégories sonores et d’avoir la possibilité d’augmenter ou de diminuer leur volume en tant qu’unité. Cela permet de conserver les niveaux relatifs de chaque son tout en permettant des modifications rapides et faciles au mixage global. Les catégories courantes incluent : effets sonores, ambiance, voix off et musique d’arrière-plan.
Mélanger les sons en fonction du regard de l’utilisateur
Il peut souvent être utile de modifier le mixage sonore dans votre expérience en fonction de l’endroit où un utilisateur recherche (ou ne recherche pas). L’une des utilisations courantes de cette technique consiste à réduire le niveau de volume des hologrammes qui se trouvent en dehors du cadre holographique afin que l’utilisateur se concentre plus facilement sur les informations devant eux. Une autre utilisation consiste à augmenter le volume d’un son pour attirer l’attention de l’utilisateur sur un événement important.
Création de votre mixité
Lors de la création de votre mixage, il est recommandé de commencer par l’audio d’arrière-plan de votre expérience et d’ajouter des couches en fonction de l’importance. Souvent, chaque couche est plus forte que la précédente.
En imaginant votre mixage comme un entonnoir inversé, avec les sons les moins importants (et généralement les plus silencieux) en bas, il est recommandé de structurer votre mixage comme dans le diagramme suivant.
Les voix off sont un scénario intéressant. En fonction de l’expérience que vous créez, vous souhaiterez peut-être avoir un son stéréo (non localisé) ou spatialiser vos voix off. Deux expériences publiées par Microsoft illustrent d’excellents exemples de chaque scénario.
HoloTour utilise une voix off stéréo. Lorsque le narrateur décrit l’emplacement affiché, le son est cohérent et ne varie pas en fonction de la position de l’utilisateur. Cela permet au narrateur de décrire la scène sans enlever aux sons spatialisés de l’environnement.
Fragments utilise une voix off spatialisée sous la forme d’un détective. La voix de l’inspecteur est utilisée pour attirer l’attention de l’utilisateur sur un indice important comme si un humain réel se trouvait dans la pièce. Cela permet une immersion encore plus grande dans l’expérience de résolution du mystère.
Partie 3 - Performances
Utilisation de l’UC
Lors de l’utilisation du son spatial, 10 à 12 émetteurs consomment environ 12 % du processeur.
Diffuser en continu des fichiers audio longs
Les données audio peuvent être volumineuses, en particulier à des taux d’échantillonnage courants (44,1 et 48 kHz). Une règle générale est que les fichiers audio de plus de 5 à 10 secondes doivent être diffusés en continu pour réduire l’utilisation de la mémoire de l’application.
Dans Unity, vous pouvez marquer un fichier audio pour la diffusion en continu dans les paramètres d’importation du fichier.
Chapitre 5 - Effets spéciaux
Objectifs
- Ajoutez de la profondeur à « Magic Windows ».
- Amener l’utilisateur dans le monde virtuel.
Windows Magique
Concepts clés
- La création de vues dans un monde caché est visuellement attrayante.
- Améliorez le réalisme en ajoutant des effets audio lorsqu’un hologramme ou l’utilisateur est proche du monde caché.
Instructions
- Dans le panneau Hiérarchie , développez HologramCollection et sélectionnez Underworld.
- Développez Underworld , puis sélectionnez VoiceSource.
- Dans le panneau Inspecteur , cliquez sur Ajouter un composant et ajouter un effet voix utilisateur.
Un composant AudioSource sera ajouté à VoiceSource.
- Dans AudioSource, définissez Sortie surUserVoice (Mixer).
- Cochez la case Spatialize.
- Faites glisser le curseur Fusion spatiale jusqu’en 3D, ou entrez 1 dans la zone d’édition.
- Développez Paramètres audio 3D.
- Définissez niveau Doppler sur 0.
- Dans Effet de voix utilisateur, définissez Objet parent sur Underworld à partir de la scène.
- Définissez Distance maximale sur 1.
La définition de la distance maximale indique à User Voice Effect à quel point l’utilisateur doit être proche de l’objet parent avant que l’effet soit activé.
- Dans Effet de voix utilisateur, développez Paramètres chorus.
- Définissez Profondeur sur 0,1.
- Définissez Appuyez sur 1 Volume, appuyez sur 2 Volume et Appuyez sur 3 Volume sur 0,8.
- Définissez Le volume sonore d’origine sur 0,5.
Les paramètres précédents configurent les paramètres du Unity AudioChorusFilter utilisé pour ajouter de la richesse à la voix de l’utilisateur.
- Dans Effet de voix utilisateur, développez Paramètres d’écho.
- Définissez Delay sur 300
- Définissez le rapport de désintégration sur 0,2.
- Définissez Volume sonore d’origine sur 0.
Les paramètres précédents configurent les paramètres du Unity AudioEchoFilter utilisé pour faire écho à la voix de l’utilisateur.
Le script User Voice Effect est responsable des opérations suivantes :
- Mesure de la distance entre l’utilisateur et le GameObject auquel le script est attaché.
- Déterminer si l’utilisateur fait face ou non à l’objet GameObject.
L’utilisateur doit être face à l’objet GameObject, quelle que soit la distance, pour que l’effet soit activé.
- Application et configuration d’un AudioChorusFilter et d’un AudioEchoFilter à l’AudioSource.
- Désactivation de l’effet en désactivant les filtres.
User Voice Effect utilise le composant Mic Stream Selector, de MixedRealityToolkit pour Unity, pour sélectionner le flux vocal de haute qualité et le router vers le système audio d’Unity.
- Dans le panneau Hiérarchie , sélectionnez Gestionnaires.
- Dans le panneau Inspecteur , développez Gestionnaire d’entrée vocale.
- Dans Gestionnaire d’entrée vocale, développez Afficher la pègre.
- Remplacez No Function par UnderworldBase.OnEnable.
- Développez Masquer le monde souterrain.
- Remplacez No Function par UnderworldBase.OnDisable.
Génération et déploiement
- Comme précédemment, générez le projet dans Unity et déployez-le dans Visual Studio.
Une fois l’application déployée :
- Faites face à une surface (mur, sol, table) et dites « Show Underworld ».
La pègre sera affichée et tous les autres hologrammes seront masqués. Si vous ne voyez pas la pègre, assurez-vous que vous êtes face à une surface réelle.
- Approchez à moins d’un mètre de l’hologramme de la pègre et commencez à parler.
Des effets audio sont désormais appliqués à votre voix !
- Éloignez-vous de la pègre et remarquez comment l’effet n’est plus appliqué.
- Dites « Masquer le monde souterrain » pour masquer la pègre.
La pègre sera cachée et les hologrammes précédemment cachés réapparaîtront.
La fin
Félicitations ! Vous avez maintenant terminé MR Spatial 220 : Son spatial.
Écoutez le monde et donnez vie à vos expériences avec le son !