Gestion du son

Transcription

Gestion du son
 582‐242 Programmation d'animation 1 TIM ‐ Techniques d'intégra on Mul média Utilisation des sons dans Unity Importation d'un son Il faut d’abord importer le son en glissant dans l'onglet​
Project​
(ou​
Assets/Import new asset…​
). Le fichier sonore apparaîtra dans les ressources du projet. Son d'ambiance et musique Déplacez le son dans l'onglet​
Hierarchy​
(​
attention de ne pas le déposer sur un objet existant)​
. Un objet de type son sera créé. Cet objet possède le composant « Audio Source » qui permet de jouer un son dans Unity. Son d'un objet (ou sprite) Déplacez le son à partir de l'onglet​
Project​
et déposez‐le sur l'objet (ou​
sprite​
) qui se trouve dans l'onglet Hierarchy​
. Cet objet se verra attribuer le composant « Audio source » qui permet de jouer le son immédiatement ou de le déclencher par programmation. Propriétés d'un Son Pour modifier les différentes propriétés du son (volume, balance, démarrage automatique, etc.) il faut sélectionner l’objet sur lequel le son a été associé. ‐ Play on Awake​
:​
si cochée, le son joue immédiatement. Sinon, il faut le déclencher par​
programmation ‐ Loop​
: si cochée, le son joue en boucle. Sinon, il ne joue qu'une seule fois ‐ Spatial Blend : ​
détermine s'il s'agit d'un son 2D (valeur de 0) ou 3D (valeur de 1). Pour des projets en 2D, laissez cette valeur à zéro. ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ © Mathieu Dionne, Denis Sherknies et Vahik Toroussian, 2016 582‐242 Programmation d'animation 1 TIM ‐ Techniques d'intégra on Mul média Gérer un clip sonore par programmation Jouer le son d'un objet Lorsqu'un son est placé sur un objet et que l'option «​
Play on Awake​
»
​ est décochée, on doit alors gérer le son à partir du script placé sur l'objet. Exemples GetComponent(AudioSource).Play(); ​
//joue le son associé à l’objet GetComponent(AudioSource).Stop(); ​
//arrête le son GetComponent(AudioSource).volume = ​
0.5​
; ​
//modifie le volume du son Pour éviter d'utiliser la commande (​
GetComponent…)​
à chaque fois, on peut aussi se servir d'une variable pour garder en mémoire la référence au composant ​
AudioSource Exemple var​
sourceAudio : AudioSource; function​
Start () { sourceAudio.Play(); ​
/​
/joue le son associé à l’objet sourceAudio.volume = ​
0.5​
; ​
​
//modifie le volume du son } ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ Jouer un autre son par le même objet : PlayOneShot() Pour jouer plusieurs​
clips​
audio différents à partir du même objet (i.e même audioSource), il faut déclarer des variables de type AudioClip ​
dans le script de l'objet et glisser des ​
clips​
audio de l'onglet​
Project​
vers ces variables dans l'inspecteur. Ensuite on peut jouer les ​
clips​
audio à l'aide de l'Instruction :​
a​
udio.PlayOneShot() © Mathieu Dionne, Denis Sherknies et Vahik Toroussian, 2016 582‐242 Programmation d'animation 1 TIM ‐ Techniques d'intégra on Mul média Exemple
var sonBeep : AudioClip; ​
// déclaration de la variable de son "sonBeep". On doit lui donner sa valeur dans l'inspecteur function OnCollisionEnter2D(infoObjetTouche : Collision2D) { ​
//si l'objet touché est la PieceOr alors joue le son Beep if( infoObjetTouche.gameObject.name == "PieceOr" ) { GetComponent(AudioSource).PlayOneShot(sonBeep); ​
// joue le clip qui se trouve dans la variable sonBeep } Remarque : Lorsqu'un objet possédant un son est désactivé dans l'inspecteur et que sa case ​
PlayOnAwake est cochée, si on active cet objet par programmation (​
SetActive(true)​
) , le son jouera immédiatement. Par contre, si le son d'un objet joue et qu'on désactive cet objet (​
SetActive(false)​
), le son s'arrêtera. © Mathieu Dionne, Denis Sherknies et Vahik Toroussian, 2016