Collisions

Sujets variés concernant le développement en PureBasic
Anonyme

Collisions

Message par Anonyme »

Voilà , je sais pas si vous connaissez la série des "Sonic" sur Mégadrive.
je voulais en fait savoir de quelle manière il ont fait pour coder leur système de collisions avec la gestion du personnage.
Pour faire des collisions avec des plans droit c'est simple, mais dès qu'il y a des plans incliné c'est autre chose...
Pour ma part je pense qu'il on utiliser la collision par pixel , mais cette commande est gourmande en mémoire donc j'ai des doutes.
Qu'en penser vous?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Il y a deux types de collision. La collision par bloc d'abord. Les blocs du sonic original font 32x32, ce qui permet une vitesse max de 31 pixels à la fois sans risque de "sauter" des blocs. Ensuite, quand sonic rencontre un bloc, il y a détermination du bloc à considérer (en fonction de la vitesse, sur quels bords), puis repositionnement du perso, au pixel près.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

je ne sais pas comment c'est fait dans sonic , mais j'avais fait des essais que tu peux trouver ici

http://perso.wanadoo.fr/comtois/sources ... lision.exe

je ne teste pas les pixels , c'est de la géométrie.

j'ai un vecteur vitesse pour la sphère ,que je combine avec la normale du plan. une fois que tu connais la normale du plan , tu peux déterminer le point de la sphère qui sera en contact avec le plan en cas de collision ( calcul de la distance).

Sinon , dans un exemple de plateforme 2D que j'avais commencé, il y a des marqueurs au bout des pieds du personnage pour gérer la pente, on sait qu'il faut relever le personnage ou le descendre selon les marqueurs en collision.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Anonyme

Message par Anonyme »

Très intéressant Comtois, mais cela dois être gourmand en temps de calcul. sinon pour mon p'tit sonic je le gère aussi avec 8 points de controles autour du hérisson ^^.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

oh il y a très peu de calcul , et ça ne doit pas être plus gourmand que de faire du Pixel perfect. Mais c'est vrai que dans ton cas ,ce n'est peut-être pas utile.J'avais fait ça pour tester les procédures que je vais utiliser pour les collisions 3D.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre