Simulation · s'appuie sur l'étape 3
La simulation la plus utile de tout ce tutoriel, et la moins spectaculaire. Un ressort
qui ramène un objet vers une cible, c'est tout mouvement lissé : une caméra qui
suit un personnage, un panneau qui glisse, l'inertie d'OrbitControls.
Trois ressorts, même raideur, lâchés ensemble. Seul l'amortissement change — et les trois comportements portent des noms.
c = 2·√(k·m).
spring() et dans
tous les moteurs de jeu.
x += (cible − x) * 0.1. Ça marche, c'est partout, et c'est
faux : le lissage dépend du nombre d'images par seconde. Sur un écran
144 Hz, l'objet arrive plus de deux fois plus vite que sur un 60 Hz. La correction
tient en une ligne :
x += (cible − x) * (1 − Math.pow(0.001, dt)).
c. Doublez m à ζ constant : la
courbe est identique, juste plus lente. C'est pour ça qu'on raisonne en ζ et pas
en newtons.