De Scratch Wiki en Français
Introduction
La gestion des rebonds est directement inspirée de la gestion des collisions, il vous sera donc aisé d'en comprendre les subtilités si vous avez suivi le tutoriel sur les collisions & hitbox
Nature d'un rebond
Un rebond est une collision dont les propriétés affectent activement le déplacement du lutin. Ainsi une balle qui rebondit ne s’arrête pas immédiatement au contact du sol.
Formule du rebond
Variable
Il faudra créer Une variable supplémentaire, qui est le coefficient de restitution, exprimé en %. Il est propre au personnage ou varie en fonction de la surface avec laquelle il entre en collision.
Appelons ce coefficient K. Sa valeur est dans le cas général comprise entre 0 et 1. Une valeur proche de 1 donnera des chocs très élastiques (balle rebondissante), tandis qu'une valeur proche de 0 donnera un rebond très "rigide"
K correspond au pourcentage de la vitesse qui sera restituée à l'objet qui rebondit.
Formule
Si l'objet touche le sol ou le plafond, il faut modifier Vy comme il suit
Mettre Vy à (-1*k*Vy)
Si l'objet touche un mur, il faut modifier Vx comme il suit
Mettre Vx à (-1*k*Vx)
Conjugaison
(Cf tutos précédents)
Ces formules trouvent une application bien plus réaliste si elles sont conjuguées à un système de hitbox, à un système de "frottements", et dans un système de gravité
Cas particuliers
Les rebonds peuvent parfois "projeter" le personnage (ressort, trampoline), dans ce cas, soit k doit être supérieur à 1, soit on fixe la valeur Vx ou Vy que prendra le personnage après la collision comme constante.
Dans un sens purement physique, k n'est pas réellement supérieur à 1 (cela voudrait dire que l'on crée de l'énergie), mais lorsqu'on saute sur un trampoline, on fournit de l'énergie avec nos jambes que le trampoline emmagasine puis restitue sous forme de vitesse verticale, voila pourquoi on à l'impression d’accélérer.