Première méthode : les bruitages sont dans le script
Pour jouer les sons, il nous faut d'abord ajouter un composant (Add Component) à la porte : le composant AudioSource.
Ensuite, le plus simple et le plus direct est de modifier le script
d'animation pour y ajouter le déclanchement des sons avec la fonction PlayOneShot() du composant AudioSource.
Dans
cette première méthode, nous allons stocker les sons comme des
variables publiques du script lui-même. Elles apparaitront dans le
composant sous l'Inspector. Pour ce faire :
Ajoutez les 2 lignes suivantes dans la partie déclarative :
public AudioClip openDoorSound;
public AudioClip closeDoorSound;
Vous pouvez alors glisser les fichiers MP3 des Assets vers le composant script du GameObject dans l'Inspector.
Ajoutez la déclaration de l'AudioSource et son utilisation dans le script en ajoutant les lignes suivantes :
private AudioSource m_audio;
A l'initialisation, dans la fonction Start() réccuperez le composant AudioSource qui a été ajouté au propriétaire du script en ajoutant la ligne suivante dans le script :
m_audio = GetComponent<AudioSource>();
Dans la partie animation qui se trouve dans la fonction Update(), ajoutez aux endroits adéquats:
m_audio.PlayOneShot(openDoorMP3, 0.7F);
...
m_audio.PlayOneShot(closeDoorMP3, 0.7F);
Passez en mode GAME et testez le résultat.
|

|
Variante : les bruitages sont dans les AudioSources
Vous pouvez aussi stocker les fichiers sons directement dans
l'AudioSource. Comme il y a 2 sons il faudra 2 composants
AudioSource au GameObject.
Ensuite, comme précédemment : 1) Glissez les fichiers MP3 des Assets vers les composants AudioSource du GameObject (dans l'Inspector) 2) Puis modifiez le script :
Ajoutez les 3 lignes suivantes dans la partie déclarative :
private AudioSource openSound;
private AudioSource closeSound;
private Component[] sounds; // voir la doc
A l'initialisation, dans la fonction Start() ajoutez :
sounds = GetComponents(typeof(AudioSource));
closeSound = (AudioSource)sounds[0];
openSound = (AudioSource)sounds[1];
Dans la partie animation qui se trouve dans la fonction Update(), ajoutez aux endroits adéquats:
openSound.play();
closeSound.play();
N'oubliez pas de décocher la case des composants AudioSource : Play On Awake
Passez en mode GAME et testez le résultat.
|

|
Pour aller plus loin
Pour voir une vidéo correpondant au TP, il y a celle de Jason Weimann (11min) : https://www.youtube.com/watch?v=_b2I--adKIo
Et pour aller VRAIMENT plus loin : Sonic Bloom nous montre comment utiliser le Koregraphy Editor pour faire "danser" toute la ferme sur la musique d'Alibi : la "Marche Des Squelettes" !
Vidéo à voir (25min) : https://www.youtube.com/watch?v=db6ZkwGLNsA
|

|