Cave : Guide pour débutants
Bases de l'audio
Lesson 18 of 19 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
L'audio dans Cave est conçu pour être très simple : vous importez un fichier audio, le prévisualisez dans l'éditeur et le jouez dans votre jeu lorsque quelque chose se produit.
Dans cette leçon, vous apprendrez :
- Comment les actifs audio fonctionnent dans le Navigateur d'Actifs.
- Comment prévisualiser un fichier audio.
- Comment exporter ou remplacer l'audio en
.ogg. - Comment jouer de l'audio depuis Python.
- Ce que signifient le volume et la tonalité.
- À quoi peut servir le gestionnaire audio retourné.
- Comment l'onglet de Monitor Audio aide à déboguer l'audio.
Vous n'avez pas besoin d'une configuration complexe pour commencer. Si vous pouvez importer un son et le jouer lorsque quelque chose comme un bouton, une porte, un ramassage ou une action de personnage se produit, vous comprenez déjà le flux de travail de base.
Importer de l'audio
Cave peut importer des fichiers audio dans le projet en tant qu'actifs audio. Comme vous l'avez vu dans la section Importer des Actifs, Cave prend en charge les fichiers audio .ogg.
Une fois l'audio importé, il apparaît dans le Navigateur d'Actifs comme le reste de votre contenu de projet. De là, vous pouvez l'utiliser dans des scripts, des rappels UI, des Logic Bricks, des événements de timeline ou tout autre système nécessitant de jouer un son.
Par exemple, votre projet peut avoir des actifs audio comme :
Click de BoutonPorte OuverteRamasser une PiècePasAmbiance de Forêt
Des noms lisibles sont très utiles ici car l'audio est souvent référencé par son nom dans Python.
Prévisualiser des Actifs Audio
Après avoir importé un fichier audio, vous pouvez le prévisualiser directement dans Cave.
Il existe deux moyens simples de le faire :
- Double-cliquez sur l'actif audio dans le Navigateur d'Actifs pour jouer rapidement un aperçu.
- Cliquez gauche une fois pour le sélectionner et afficher ses propriétés, où vous pouvez utiliser les contrôles de prévisualisation pour le jouer.
La vue des propriétés est utile car elle vous donne plus de contrôle lors de la prévisualisation. Par exemple, vous pouvez tester comment l'audio sonne avec différentes valeurs de tonalité avant d'utiliser ce son dans le jeu.
Ceci est particulièrement utile pour des effets comme les pas, les impacts, les clics d'interface utilisateur et les sons de créatures. Un petit changement de tonalité peut faire en sorte que des sons répétés semblent moins identiques.
Exporter ou Remplacer de l'Audio
Les actifs audio peuvent également être exportés en tant que fichiers .ogg. Cela est utile lorsque vous souhaitez éditer l'audio dans un outil externe, par exemple.
Vous pouvez également remplacer l'actif audio par un autre fichier .ogg. Cela est pratique lorsque la logique référence déjà un nom d'actif, mais que vous souhaitez modifier le son réel.
Par exemple, votre jeu peut déjà utiliser un actif nommé Porte Ouverte. Si vous remplacez l'audio à l'intérieur de cet actif, les scripts qui jouent Porte Ouverte peuvent continuer à fonctionner sans nécessiter de renommage.
Jouer de l'Audio en utilisant le Composant Audio
Parfois, vous voulez jouer un son simple en boucle pour une ambiance, une musique pour le menu principal, etc. Dans ce cas, le composant audio suffira :

Il jouera indéfiniment l'audio que vous lui spécifiez et vous permet de contrôler le volume, la tonalité, si le son est 3D, et la distance maximale. Remarquez qu'il n'expose pas plus d'options, comme le nombre de fois que nous voulons jouer l'audio, etc. Si vous avez besoin de plus de personnalisation, vous devez jouer l'audio via du code.
Jouer de l'Audio depuis Python
Le moyen le plus simple de jouer un actif audio depuis Python est avec cave.playSound().
cave.playSound("Click de Bouton")
Cela joue l'actif audio nommé Click de Bouton.
Vous pouvez également passer une valeur de volume :
cave.playSound("Porte Ouverte", volume=0.8)
La valeur par défaut du volume est 1.0, ce qui signifie volume normal. Des valeurs plus basses rendent le son plus silencieux.
Par exemple :
| Volume | Signification |
|---|---|
2.0 |
Volume très élevé. |
1.0 |
Volume normal. |
0.5 |
Volume réduit. |
0.0 |
Silencieux. |
La plupart du temps, vous commencerez avec 1.0 et ajusterez à partir de là.
Volume et Tonalité
- Le Volume contrôle à quel point le son est fort.
- La Tonalité contrôle à quel point le son semble haut ou bas. Elle change également la vitesse de lecture, donc une tonalité plus élevée donne un son plus rapide et plus aigu, tandis qu'une tonalité plus basse donne un son plus lent et plus grave.
Les valeurs par défaut pour le volume et la tonalité sont 1.0.
Par exemple :
| Valeur | Résultat de Volume | Résultat de Tonalité |
|---|---|---|
1.0 |
Volume normal. | Tonalité normale. |
0.5 |
Plus silencieux. | Plus bas et plus lent. |
1.5 |
Plus fort s'il est utilisé comme volume. | Plus haut et plus rapide. |
Lors de l'utilisation de cave.playSound(), le volume est passé directement lorsque le son commence. La tonalité est généralement modifiée par le gestionnaire audio retourné par la fonction.
Le Gestionnaire Audio
Lorsque vous appelez cave.playSound(), Cave retourne un gestionnaire audio.
Ce gestionnaire représente l'instance de son qui est actuellement jouée.
son = cave.playSound("Pas sur Pierre", volume=0.8)
son.pitch = 1.0
Vous pouvez utiliser ce gestionnaire pour contrôler le son après qu'il a commencé.
Par exemple :
son = cave.playSound("Ambiance de Cave", volume=0.6, loop=True)
# Alternativement, vous pouvez utiliser le getter et le setter :
son.setPitch(0.9)
son.setVolume(0.4)
Le gestionnaire peut être utilisé pour des choses comme :
- Changer le volume.
- Changer la tonalité.
- Mettre le son en pause.
- Reprendre le son.
- Arrêter le son.
- Vérifier la progression.
- Faire en sorte que le son provienne d'une entité 3D.
Par exemple, si un son de porte doit provenir de l'entité porte :
son = cave.playSound("Porte Ouverte", volume=1.0)
son.setSource3D(self.entity, maxDistance=20)
Vous n'avez pas besoin de ce gestionnaire pour chaque son. Si vous voulez simplement jouer un clic rapide de bouton, cela suffit :
cave.playSound("Click de Bouton")
Utilisez le gestionnaire lorsque vous avez besoin de plus de contrôle.
Il est même possible de randomiser un peu le bruit de pas, donnant plus de variété sans nécessiter plus de sons :
sd = cave.playSound("Pas sur Pierre")
# Définir sa source 3D pour être l'entité qui le joue :
sd.setSource3D(entity, 20)
# Randomiser la tonalité et le volume :
sd.pitch = cave.random.uniform(0.5, 1.5)
sd.volume = cave.random.uniform(0.1, 0.3)
Le code ci-dessus est très similaire à celui que vous trouverez dans le rappel d'animation Walk et Run du personnage Proto par défaut, lorsque vous créez un nouveau projet Cave.
L'Onglet de Monitor Audio
Cave inclut également un onglet Monitor Audio pour déboguer l'audio pendant que votre jeu est en cours d'exécution.

Vous pouvez l'ouvrir depuis le menu Onglets en haut à gauche de l'éditeur.
Le Monitor Audio montre des informations sur l'audio actuellement joué, y compris la progression de lecture. Vous pouvez développer les entrées pour inspecter plus de détails, ce qui est très utile lorsque qu'un projet commence à avoir de nombreux sons joués en même temps.
Par exemple, le Monitor Audio peut vous aider à répondre aux questions comme :
- Ce son est-il réellement joué ?
- Le même son est-il joué trop de fois ?
- Une ambiance en boucle est-elle toujours active ?
- Combien de temps s'est écoulé depuis le début du son ?
Vous n'aurez probablement pas besoin du Monitor Audio en permanence dans un petit prototype, mais il devient très utile lors du débogage de scènes plus complexes.
Ce que vous devez retenir
L'audio dans Cave est simple : importez un fichier audio, prévisualisez-le dans le Navigateur d'Actifs et jouez-le depuis Python avec cave.playSound().
Utilisez le volume pour contrôler le niveau sonore, la tonalité pour contrôler à quel point le son semble haut ou bas, et gardez le gestionnaire retourné lorsque vous avez besoin de contrôler le son après son lancement.