[Résolu][C#] Jouer un son durant un quaternion.Lerp

Questions à propos de la partie audio, y compris les problèmes de script s'y rapportant.
Istrella
Messages : 45
Inscription : 25 Juin 2013 23:08

[Résolu][C#] Jouer un son durant un quaternion.Lerp

Message par Istrella » 30 Juin 2015 19:04

Bonjour !!

Alors pour l'instant j'avais laissé la partie son de coté pour mon projet et j'ai donc quelques lacunes de ce coté.
Pour jouer un son en temps normal, je n'ai pas de souci. Sauf que là...

Je vais tenter d'être clair ! :-)

J'ai une tourelle qui, lorsqu'elle est sélectionnée, est liée à un GUI. Sur ce GUI, j'ai un slider qui modifie la rotation de ma tourelle lorsqu'on le fait glisser.
J'ai un script tout bête sur ma tourelle qui vérifie si elle est sélectionnée dans le Update, et si c'est le cas elle tourne en fonction de la valeur de mon slider :

Code : Tout sélectionner

void Update () {
		
		if (Camera.main.GetComponent<selectionScript> ().actualSelection == this.transform) {
			float rotationSliderValue = inclinationSlider.Value;

		Quaternion byAngles = Quaternion.Euler(new Vector3(-rotationSliderValue,0,0));
		
		turretInclination.transform.localRotation = Quaternion.Lerp(turretInclination.transform.localRotation, byAngles, rotationSpeed*Time.deltaTime) ;
		}
	}
Là ou ça se corse, c'est que j'aimerais qu'un son soit joué pendant la rotation de ma tourelle et pour le temps de la rotation.

D'abord j'ai tenté bêtement un GetComponent<AudioSource>().Play(); avant ou après mon Lerp --> Le son n'est jamais joué, sauf quand je désélectionne ma tourelle (et donc que le lerp n'est plus actif).

D’où ma question :

Comment faire pour jouer un son PENDANT le lerp.
Ou mieux encore, comment jouer un son au début de la rotation, pendant la rotation et enfin à l'arrêt de la rotation ? :mrgreen:

Merci d'avance pour vos lumières !

Istr :-)
Dernière édition par Istrella le 01 Juil 2015 16:22, édité 1 fois.

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: [C#] Jouer un son durant un quaternion.Lerp

Message par E3DStef » 30 Juin 2015 21:41

Salut,

En associant un script à un GO vide qui jouera ton son et un OnClick sur ton GUI tourelle qui fait appel à ce script ?

Qu'en dis tu ?
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Istrella
Messages : 45
Inscription : 25 Juin 2013 23:08

Re: [C#] Jouer un son durant un quaternion.Lerp

Message par Istrella » 01 Juil 2015 09:10

Bonjour,

ça n'irait pas je pense.
Si je lance le son depuis le slider de l'UI, j'aurai un problème puisque la vitesse à laquelle je déplace le slider est indépendante de la vitesse de rotation de la tourelle.

Il faudrait que le son soit joué pendant la rotation de cette dernière et s'arrête une fois qu'elle est terminée, et non durant le glissement du slider.

(P.S. : suis-je dans la bonne section ou aurais-je du poster sur le forum scripts ?)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6243
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [C#] Jouer un son durant un quaternion.Lerp

Message par boubouk50 » 01 Juil 2015 10:00

Il faut que tu définisses les événements Début de rotation et fin de rotation.
tel quel ton son sera joué à chaque Update(), donc il ne fera que débuter.
Par ex, tu peux récupérer la valeur précédente de l'interpolant pour le comparer à celui en cours.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Istrella
Messages : 45
Inscription : 25 Juin 2013 23:08

Re: [C#] Jouer un son durant un quaternion.Lerp

Message par Istrella » 01 Juil 2015 16:22

J'ai réussi à faire comme je voulais en utilisant des coroutines pour l'inclinaison et la rotation de la tourelle.

Je pensais qu'il y avait un moyen plus simple pour affecter un son lors d'un mouvement, mais ça fonctionne très bien comme ça aussi !

Merci de vos conseils ! :-)

Répondre

Revenir vers « Audio, musique et sons »