Problème avec les sons de pas.

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
jmhoubre
Messages : 657
Inscription : 05 Oct 2019 22:05

Problème avec les sons de pas.

Message par jmhoubre » 11 Mai 2022 22:30

Bonsoir
j'ai l'impression d'voir trouvé un bug, mais d'une part je ne suis pas sûr de moi, d'autre part je n'ai jamais fait cette démarche (à part dans la doc, mais dans le cas de la doc je crois que personne ne corrige ...).

Il s'agit du script ThirdPersonController de l'asset Starter Assets - Third Person Character Controller d'Unity. Mes animations de marche et de course déclenchent un son quand le pied touche le sol. Classique. Mais quand le personnage ne marche plus, le bruit de pas survient toujours, plutôt irrégulièrement.
Après avoir contrôlé tout mon code et mes paramètres, j'ai examiné le code de ThirdPersonController. La vitesse fournie à l'animator est donnée à la ligne 225 (elle alimente un Blend Tree "Idel-Walk-Run) :

Code : Tout sélectionner

_animator.SetFloat(_animIDSpeed, _animationBlend);
La variable_animationBlend est calculée ligne 200 :

Code : Tout sélectionner

_animationBlend = Mathf.Lerp(_animationBlend, targetSpeed, Time.deltaTime * SpeedChangeRate);
En gros, elle dépend de la vitesse à la frame précédente, et change en fonction de SpeedChangeRate.
Ce qui veut dire qua quand le perso ne bouge pas, l'animation jouée sera encore Walk et pas Idle, pendant quelques frames.

J'ai donc modifié la ligne 200 :

Code : Tout sélectionner

_animationBlend = (_input.move == Vector2.zero) ? 0f : Mathf.Lerp(_animationBlend, targetSpeed, Time.deltaTime * SpeedChangeRate);
, et je n'ai plus de soucis.

1) C'est bien cela ?
2) Comment vérifie-t-on qu'un bug n'a pas déjà été signalé ?
3) Comment on signale ?

Répondre

Revenir vers « Unity le logiciel »