PAF!? le mur

412 vues

Publié le

Conférence présentée par GUIBERT Nicolas, POULET Florian et SIMON Camille

Nous allons détailler les différentes méthodes (algorithmes, formules, …) pour simuler les collisions dans les jeux vidéo et autre environnement virtuel. Nous allons entre autre comparer leurs points forts/faibles et leurs cadres d’utilisation. Les algorithmes et des exemples de leur implémentation seront aussi présentés.

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
412
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Point aux coordonnées x et y (bas milieu de l’AABB)
    Difficulté c’est pour toute coordonnée x il faut connaitre la coordonnée y du sol
  • C’est masque monochrome qui va permettre de tester la collision au pixel près
    Si dans AABB du masque
    On regarde la couleur du pixel sur lequel la souris se trouve. Si c’est blanc ya collision sion izok
  • Normalement l’image avec les masques c’est constitué que de masques de couleur.
  • 2 personnages et leur masques
    Nous voulons savoir si les deux zones blanche se touche
    On prend chaque pixel et si on trouve un pixel blanc sur notre masque on vérifie qu’au meme endroit dans le masque 2 il n’y ai pas de pixel blanc, sinon on a une collision;
  • Ordonnée du point bas de la bounding box
  • Point aux coordonnées x et y (bas milieu de l’AABB)
    Difficulté c’est pour toute coordonnée x il faut connaitre la coordonnée y du sol
  • Chaque élément s’inscrit dans une cellule de la grille.
    Savoir si un point P touche un mur, il suffit de savoir ou on se situe et si cette case correspond à un mur ou non
  • Chaque élément s’inscrit dans une cellule de la grille.
    Savoir si un point P touche un mur, il suffit de savoir ou on se situe et si cette case correspond à un mur ou non
    Les objets du décor cachent les tiles de derrière
  • PAF!? le mur

    1. 1. •NICOLAS GUIBERT •FLORIAN POULET •CAMILLE SIMON EQUIPE
    2. 2. •FORMES SIMPLES •FORMES COMPLEXES •COLLISION AU PIXEL PRÈS •PARTITIONNEMENT •DÉCOR •SPRITES ENRICHIS SOMMAIRE
    3. 3. FORMES SIMPLES Le point Le rectangle aligné sur les axes Le cercle
    4. 4. UN POINT DANS UNE AABB UN POINT P1 NE SE TROUVE PAS DANS UNE AABB B1 SI : • P1 SE SITUE COMPLÈTEMENT À GAUCHE DE B1 • P1 SE SITUE COMPLÈTEMENT À DROITE DE B1 • P1 SE SITUE COMPLÈTEMENT EN HAUT DE B1 • P1 SE SITUE COMPLÈTEMENT EN BAS DE B1
    5. 5. UN POINT DANS UNE AABB
    6. 6. COLLISION ENTRE 2 AABB UNE AABB B1 ET UNE AABB B2 NE SONT PAS EN COLLISION SI : • B1 SE SITUE COMPLÈTEMENT À GAUCHE DE B2 • B1 SE SITUE COMPLÈTEMENT À DROITE DE B2 • B1 SE SITUE COMPLÈTEMENT EN HAUT DE B2 • B1 SE SITUE COMPLÈTEMENT EN BAS DE B2
    7. 7. COLLISION ENTRE 2 AABB
    8. 8. UN POINT DANS UN CERCLE UN POINT P1 NE SE TROUVE PAS DANS UN CERCLE C1 SI : • LA DISTANCE ENTRE P1 ET LE CENTRE DE C1 EST SUPÉRIEURE AU RAYON DE C1
    9. 9. UN POINT DANS UN CERCLE
    10. 10. COLLISION ENTRE 2 CERCLES UN CERCLE C1 ET UN CERCLE C2 NE SONT PAS EN COLLISION SI : • LA DISTANCE ENTRE LES CENTRES DEC1 ET C2 EST SUPÉRIEURE À LA SOMME DES RAYONS DE C1 ET C2
    11. 11. COLLISION ENTRE 2 CERCLES
    12. 12. FORMES COMPLEXES
    13. 13. COLLISION ENTRE POLYGONE CONVEXE ET POINT Le vecteur S : Sx = Bx – Ax Sy = By - Ay Le vecteur T : Tx = Px – Ax Ty = Py – Ay Déterminant D : D = Sx*Ty – Sy*Ty Si D est supérieur à 0, alors P est à gauche de la droite AB Si D est inférieur à 0, alors P est à droit de droite AB Si D est égal à 0, alors P est sur la droite AB
    14. 14. COLLISION ENTRE POLYGONE CONCAVE ET POINT X=A+t∗AB⃗ D⃗ = AB⃗ X=I+u∗IP⃗ E⃗ = IP⃗ Ax+t∗Dx = Ix+u∗Ex Ay+t∗Dy = Iy+u∗Ey t = - Ax∗Ex - Ix∗Ey - Ex∗Ay + Ex∗Iy Dx∗Ey - Dy∗Ex
    15. 15. COLLISION ENTRE POLYGONE CONCAVE ET POINT Vecteur u ⃗ (AB) Vecteur v ⃗ (AC) |u.x∗v.y – u.y∗v.x| √ (u.x² + u.y²)
    16. 16. COLLISION ENTRE POLYGONE CONCAVE ET POINT AB⃗. AC⃗ BA⃗. BC⃗
    17. 17. AABB ET CERCLE
    18. 18. AABB ET CERCLE s1=GJ⃗.GH⃗ s2=HJ⃗.GH⃗ s1∗s2 > 0
    19. 19. COLLISION AU PIXEL PRÈS
    20. 20. LES MASQUES Un Masque une image faite de 2 couleurs Représentation d’un objet de façon monochrome
    21. 21. POINT SUR UNE IMAGE Test de la zone AABB du masque (point dans AABB) Test de collision au pixel
    22. 22. MASQUES MULTICOLORES Jeux point & clic ou menu de jeu Deux images Une original Une avec des masques Test de la couleur du masque au clic
    23. 23. PIXEL PERFECT Detection de collision entre 2 objets au pixel près Premier test > collision AABB entre les deux masques Algorithme qui test chaque pixel Prendre l’image la plus petite Test sur la zone rectangulaire en collision VERSUS
    24. 24. PARTITIONNEMENT UN NIVEAU PEUT CONTENIR PLUSIEURS CENTAINES/MILLIERS D’OBJETS • COMMENT FAIRE POUR RÉDUIRE LE NOMBRE DE TEST À EFFECTUER ?
    25. 25. LA GRILLE • DÉCOUPAGE EN BOÎTES IDENTIQUES • CHAQUE BOÎTE CONTIENT UNE LISTE D’OBJETS • DÉCOUPAGE EFFECTUÉ AU CHARGEMENT ( OU SAUVEGARDER DANS LE FICHIER DU NIVEAU )
    26. 26. LA GRILLE INCONVÉNIENTS : • DÉTERMINER LE NOMBRE DE BOÎTES VOULU • RÉPARTITION HÉTÉROGÈNE
    27. 27. LE QUADTREE • DÉFINIR LE NOMBRE MAX D’OBJETS PAR BOÎTE • DÉCOUPAGE RÉCURSIF DE CHAQUE BOÎTE EN4 • TANT QU’IL Y A TROP D’OBJETS DANS UNE LISTE, ON LA DÉCOUPE Niveau 1 2 3 4 41 42 43 44
    28. 28. LE QUADTREE INCONVÉNIENT : • POTENTIEL DÉSÉQUILIBRE
    29. 29. LE BSP • DÉCOUPAGE RÉCURSIF DE CHAQUE BOÎTE EN2 • DROITE DE DÉCOUPE « ASTUCIEUSE »
    30. 30. DÉCOR
    31. 31. SOL PLAT Altitude A Bounding box (rectangle englobant, cadre de limite) Si B BOX > A Si B BOX < A A B BOX
    32. 32. SOL COURBE Fonction cartésienne f(x)= y Si f(x) > y on est au-dessus Si f(x) < y on est en-dessous Dérivée f’(x) avec une valeur seuil ‘z’ Si f’(x) > z on ne peut pas franchir Si f’(x) < z on peut franchir
    33. 33. TILES DROITS Tiles Carreaux répétitifs réguliers
    34. 34. TILES DROITS
    35. 35. TILES DROITS
    36. 36. TILES ISOMÉTRIQUES Tiles inclinés pour effet 3D
    37. 37. SPRITES ENRICHIS Point Chaud Point d’action Sous-AABB
    38. 38. POINT CHAUD
    39. 39. POINT D’ACTION
    40. 40. SOUS-AABB
    41. 41. MERCI DE VOTRE ATTENTION

    ×