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?
Collisions
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.
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://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.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
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.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.