Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
We use cookies to ensure that we provide you with the best possible experience on our site.
Votre source incontournable sur Unity et le développement web
Votre source incontournable sur Unity et le développement web
Aujourd’hui, nous plongeons dans le monde de Unity et explorons le composant essentiel Audio Source ainsi que ses compagnons pour une gestion audio efficace.
Par défaut dans Unity, des composants sont disponibles pour répondre à nos besoins en matière d’ajout de musique ou de son.
Veuillez noter que ce tutoriel s’adresse principalement aux débutants et couvre certains aspects de manière superficielle.
Voici les fonctionnalités que nous allons parcourir :
Table des matières
Dans Unity, lorsque vous importez un fichier audio, il subit une transformation en un AudioClip.
Unity prend en charge divers formats tels que aif, wav, mp3 et ogg.
Dans le domaine audio, il prend en charge des clips audio mono, stéréo et multicanaux jusqu’à huit canaux.
Plus tard, nous explorerons les configurations diverses d’un clip audio.
Pour jouer des clips audio dans une scène Unity, vous aurez besoin de deux éléments essentiels.
Le premier est d’ajouter une Source Audio.
La AudioSource est un composant qui permet la lecture d’un ou de plusieurs clips audio dans votre scène.
Pour jouer plusieurs clips audio avec une seule source, nous devrons utiliser du code.
Pour ajouter une Source Audio, vous pouvez :
Le deuxième composant essentiel pour la lecture du son est d’avoir un « Audio Listener« .
Par défaut, il est automatiquement ajouté à votre caméra lors de la création de la scène.
Avoir le listener sur la caméra est une pratique courante, comme nous l’explorerons dans la section « Blend Spatial : Jouer Audio avec Distance » où la position devient cruciale.
Alternativement, vous pouvez ajouter manuellement un Audio Listener en sélectionnant votre gameObject, en cliquant sur Ajouter Composant, et en choisissant « Audio Listener« .
Vous pouvez lire l’audio soit directement via l’Inspecteur, soit en utilisant du code.
Par défaut, le « AudioClip » passé en paramètre sera automatiquement lu, car la propriété « playOnAwake » est définie sur true lors de l’ajout du composant.
Pour une lecture continue, comme dans le cas de la musique, vous pouvez également cocher la propriété « loop » pour faire en sorte que votre audio tourne en boucle.
Nous pouvons contrôler la lecture de notre audio en utilisant les méthodes « Play, » « Pause, » et « Stop » de notre AudioSource :
using UnityEngine;
namespace App.Audio
{
public class AudioManager : MonoBehaviour
{
public AudioSource audioSource;
public void Start()
{
// Play
audioSource.Play();
// Pause
audioSource.Pause();
// Stop
audioSource.Stop();
}
}
La lecture simultanée de plusieurs AudioClips est possible en utilisant la méthode « PlayOneShot« , en spécifiant le AudioClip comme paramètre :
using UnityEngine;
namespace App.Audio
{
public class AudioManager : MonoBehaviour
{
public AudioSource audioSource;
public AudioClip clip;
public void Start()
{
audioSource.PlayOneShot(clip);
}
}
Dans l’Audio Source Unity, la propriété « spatialBlend » vous permet de jouer un clip en 2D, 3D, ou en utilisant une valeur entre les deux.
Lorsque la source audio est réglée sur 2D (la valeur par défaut), le son sera joué indépendamment de la position entre l’Audio Listener et la source audio.
Cependant, un volume suffisant est toujours requis.
En revanche, lorsque la source audio est réglée sur 3D, la valeur utilisera les paramètres 3D, diminuant le son en fonction des paramètres et de la distance entre le listener et la source.
Vous pouvez modifier la distance en utilisant « Custom Rolloff » ou « Linear Rolloff » comme volume rolloff et en ajustant les champs « Min Distance » et « Max Distance« .
Enfin, pour éviter de créer de nombreuses sources audio pour vos sons ou de modifier la position de votre source audio, vous pouvez jouer un son à une position spécifique en utilisant la méthode « PlayClipAtPoint » :
using UnityEngine;
namespace App.Audio
{
public class AudioManager : MonoBehaviour
{
public AudioSource audioSource;
public AudioClip clip;
public void Start()
{
audioSource.PlayOneShot(clip, Vector3.one);
}
}
Revisitons le processus d’importation audio pour les AudioClips, où vous avez la possibilité d’ajuster divers paramètres.
Tout d’abord, vous pouvez restreindre l’audio à n’utiliser qu’un seul canal avec « Force To Mono ».
Une autre option, « Load in Background », vous permet d’éviter de saturer le thread principal en chargeant l’audio de manière asynchrone dans un autre thread.
Cela s’avère très pratique pour réduire les temps de chargement de la scène.
De plus, avec le paramètre « LoadType », vous pouvez modifier la méthode de chargement en fonction de vos besoins :
Une fois votre audio chargé, il est automatiquement décompressé.
Cela est particulièrement utile lorsqu’un son doit être répété, car l’audio non compressé est stocké en mémoire, évitant un surcharge pendant le gameplay.
En raison d’une utilisation potentielle significative de la mémoire par rapport à d’autres méthodes, il n’est pas recommandé de l’utiliser pour des fichiers volumineux.
Le système compresse l’audio en mémoire et le décompresse lors de la lecture.
Cette méthode entraîne une petite surcharge, mais elle est idéale pour les clips intensifs en mémoire qui ne peuvent pas utiliser « Decompress On Load. »
La décompression se fait dans un thread séparé.
Il lit et décode l’audio directement depuis le disque en temps réel.
Pour chaque clip, même s’il n’est pas chargé, les clips en streaming supportent une surcharge d’environ 200 Ko.
La décompression se fait également dans un thread séparé.
Cette méthode est très efficace pour réduire davantage l’utilisation de la mémoire.
Pour des informations plus détaillées, veuillez vous référer à la documentation.
Pour ajuster la configuration audio globale dans Unity, accédez à « Modifier » -> « Paramètres du Projet » -> « Audio. »
Toutes les modifications apportées ici seront appliquées globalement à votre projet, ce qui est parfait pour ajuster des paramètres tels que le volume global de votre jeu.
Consultez la documentation pour une description complète des champs.
Pour ajouter des filtres à vos sons, vous avez deux options :
La première consiste à utiliser des composants qui peuvent être ajoutés au gameObject contenant votre AudioSource.
Ces composants comprennent :
Sinon, la deuxième option consiste à créer un Mixer Audio, que je trouve plus pratique si vous souhaitez réutiliser les mêmes effets sur plusieurs AudioSources.
Pour créer un Mixer Audio, faites un clic droit dans la hiérarchie de votre projet, allez à « Créer » -> « Mixer Audio. »
Ensuite, double-cliquez sur votre Mixer Audio pour ouvrir l’onglet correspondant, vous donnant accès à une interface de type mixeur.
En cliquant sur le bouton « Ajouter« , vous pouvez incorporer divers effets.
Enfin, pour les appliquer à votre AudioSource, vous devez ajouter votre mixeur dans le champ de sortie.
Je ne m’étendrai pas davantage sur les détails car le Mixeur mérite son propre article.
Cela conclut notre tutoriel sur la source audio Unity.
Merci d’avoir lu cet article. Bon codage !