Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: SFML 2.x - Détection collision optimisé  (Lu 1930 fois)

0 Membres et 1 Invité sur ce sujet

Nolimitee

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
SFML 2.x - Détection collision optimisé
« le: Décembre 26, 2015, 10:05:28 am »
Bonjour à tous,

Je cherche actuellement un moyen "optimisé" de détecter les collisions avec la SFML 2.x lorsqu'il y a beaucoup de sprite affiché.

Je suis au courant qu'on peut le gérer en mettant tous les sprites dans un conteneur, puis de l'iterer en entier à chaque frame pour détecter si il y a une collision avec un sprite donné, mais je trouve cette manière assez ignoble question optimisation, surtout si il y a beaucoup d'élément dans le conteneur.

J'avais pensé à quand même itérer le conteneur mais en faisant les tests de collision que si le sprite en question avait le même X ou Y.

Du coup, si vous connaissez une autre façon de faire, ou si vous avez une idée, je suis preneur !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : SFML 2.x - Détection collision optimisé
« Réponse #1 le: Décembre 26, 2015, 10:34:42 am »
Tu peux avoir plusieurs couches de collisions : une couche qui élimine rapidement les entités qui sont vraiment trop loin, puis une couche qui détermine précisément les collisions sur le petit sous-ensemble qui a passé la première étape.

Regarde aussi les structures de partitionnement, notamment le quadtree.
Laurent Gomila - SFML developer

Nolimitee

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : SFML 2.x - Détection collision optimisé
« Réponse #2 le: Décembre 26, 2015, 11:27:57 am »
La méthode de partitionnement à l'air trés intéressante. Merci !