J'ai récemment changé mon moteur de jeu des comportements de direction au mouvement basé sur les impulsions avec une résolution de collision appropriée en fonction du temps. Cela a résolu tant de problèmes (plus de tunneling, oui) et a rendu la simulation beaucoup plus stable. Cependant, avec la stabilité est venu un nouveau problème.
Les trois balles ont commencé leur voyage vers le bas de l'image, leur cible était l'endroit où la balle rose s'est arrêtée. Sur le chemin, les boules rouges et vertes se sont collées au point d'étranglement dans le mur.
Avant, je pouvais compter sur des erreurs en virgule flottante et l'instabilité générale des comportements de direction pour que les boules vertes et rouges se bousculent jusqu'à ce qu'elles parviennent à franchir le point d'étranglement. Maintenant, avec une résolution de collision appropriée, les forces agissant sur les billes s'annulent, ce qui fait que les billes restent parfaitement immobiles.
Quelles méthodes sont couramment utilisées pour résoudre de telles situations? Peut-être qu'une sorte de système de mise en file d'attente prioritaire fonctionnerait, bien que je puisse le voir devenir complexe une fois que je dois décider de la priorité entre plus de 2 objets.