De Scratch Wiki en Français


Rebonds



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.

Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie: