Logo Makeyourgame
Accueil Les formations Créer un jeu Les ateliers Les tutoriels Blog
Logo Makeyourgame
Les formations Les financements Les exercices La certification Unity
Logo Makeyourgame
Mes objectifs Les jeux Les ressources Le glossaire
Logo Makeyourgame
Les tutos Les tutos Youtube

Insérer du son à une scène : Unity

pictureProfil_KeyKhaarIlyr
Ecrit par KeyKhaarIlyr
Catégorie Unity
Mis à jour le 01/06/2021
Insérer du son à une scène

Apprenez à injecter du son dans vos scènes avec l’AudioSource !

7 min Débutant

Bienvenue à tou-te-s, ici Key en direct de Make Your Game ! Aujourd’hui, nous allons apprendre à introduire du son dans votre projet.

L’importance du son dans les jeux !

Avez-vous déjà essayé de jouer à un jeu sans son ?

Personnellement, je trouve cette expérience particulièrement désagréable, le son est une partie importante de l’immersion. Avoir le son des armes, de la musique ambiante, du cri des monstres est pour moi primordial, d’autant plus lorsque l’on pratique une discipline E-Sport.

Le son est un indicateur de situation, il rend les personnage réellement vivant, il appuie le danger, amplifie la grandeur de l’univers dans lequel vous vous trouvez.

Le tuto du jour vous apprendra à gérer la lecture et la pause d’un morceau !

Mise en place de la scène

Ouvrez un nouveau projet Unity, et créez à la racine du dossier “Asset” les dossiers “Script” et “Audio”.

structure des dossiers

Placer dans votre dossier “Audio” le morceau de votre choix.
Personnellement, je vais placer une musique libre de droit pour des questions de légalité, mais vous avez la liberté de choisir le morceau qui vous plaît.

ajout d'un AudioClip

Vous allez ensuite vous placer dans votre dossier “Script” afin d’y ajouter un script C# appelé “AudioController”.

ajout du script AudioController

Et pour finir, créez un cube dans votre scène, appelez-le comme vous le désirez, attachez-lui le script “AudioController”.

AudioController

Il est temps de passer à la partie scripting !

Ouvrez le fichier “AudioController” et déclarez les variables comme l’image ci-dessous.

declaration des attributs

L’une des parties les plus importantes de la gestion du son, c’est l’AudioSource, c’est un component qui devra être ajouté à tous les GameObjects qui vont devoir jouer un AudioClip.

Remarque : L’AudioClip est le son qui sera joué, le morceau que vous avez ajouté dans le projet est appelé AudioClip dans Unity.

Notre script va avoir besoin d’un AudioClip pour le son à jouer, un AudioSource pour gérer ce son, et nous ajoutons les attributs de gestion de volume et de vitesse de lecture.

Remarque : Les lignes 8 et 11 ont pour indications “Range()”, cela permet de spécifier que dans l’Inspector de votre scène, vous pourrez modifier les valeurs correspondantes (celles des variables “volume” et “pitch” grâce à un curseur à régler selon vos préférences.

affectation de l'AudioSource, du volume et de la vitesse de lectue

Dans la méthode “Awake()”, il faudra ajouter le component AudioSource à notre GameObject, s’il n’en dispose pas, nous ne pourrons pas jouer d’AudioClip.
En stockant l’AudioSource dans la variable “source” nous nous assurons de pouvoir affecter des modification à l’AudioClip.

Et pour finir, nous affectons une valeur de base au volume et à la vitesse du morceau joué dans les limites imposées plus tôt.

Remarque : Notez que la méthode “Awake()” est une méthode qui se lance avant la méthode “Start()”.

récupération de l'AudioSource, du volume et du pitch

Dans la méthode “Start()” on associe à l’attribut “clip” de notre AudioSource l’AudioClip récupéré via l’Inspector.
On fait la même chose pour le “volume” et le “pitch”, ce qui signifie que maintenant, l’AudioSource traitera l’AudioClip avec les valeurs entrées dans l’Inspector.

création de la méthode gérant la lecture et la pause d'une bande son

Avant de remplir notre méthode “Update()”, nous allons créer une méthode qui gérera la fonctionnalité de lire le morceau ou de le mettre en pause.
La méthode “PlayAndPause()” lancera la lecture du morceau s’il n’est pas en train d’être joué, dans le cas contraire, il sera mis en pause.

Remarque : L’attribut “isPlaying” de l’AudioSource est un booléen qui retourne “true” si le morceau est joué, et “false” si ce n’est pas le cas.

contrôle de la barre d'espace pour jouer ou mettre en pause le morceau

Et dans notre méthode “Update()”, on contrôle si la barre d’espace a été appuyée ou non : si oui, la méthode “PlayAndPause()” sera appelée, sinon, le script poursuivra son chemin. Pour permettre de modifier le son à notre guise pendant le mode play de notre scène, nous faisons en sorte que le volume et la vitesse de lecture soit toujours à jour par rapport à notre script !

Il ne restera plus qu’à associer un AudioClip à notre component dans l’Inspector, et à nous amuser avec les attributs !


Evidemment, pensez bien à appuyer sur la barre d’espace pour lancer votre bande son.

Et voilà, c’est tout pour aujourd’hui !
J’espère que ce tutoriel vous aura plus, et je vous dit à très bientôt !

Vues: 6819

Licence:



Validation du Tutoriel

Veuillez vous connecter ou créer un compte pour pouvoir valider ce tutoriel et ainsi gagner de l'expérience (XP) !

Vous aimerez aussi...

Blog et Tutoriels

Utiliser la classe WWW  de Unity

Utiliser la classe WWW de Unity

par alto

Avec la classe WWW de Unity , vous allez pouvoir contacter un script php (par exemple) placé sur un serveur web. Apprenez à récupérer des informations issues d'une base de données depuis votre application Unity.

applause logo0