collision avec directX8

collision avec directX8 - C++ - Programmation

Marsh Posté le 23-11-2002 à 17:26:41    

Je suis sur un projet de First person shooter en directX (8.1) et j'ai besoin d'une collision assez simple avec le sol. Le sol étant lui même composé d'une simple grille de points et triangles, je ne veux pas utiliser de bouding box, ça rendrait rien.
Voilà! j'espère que vous voyez ce que je veux dire............
 
merci d'avance! ;)

Reply

Marsh Posté le 23-11-2002 à 17:26:41   

Reply

Marsh Posté le 24-11-2002 à 11:04:27    

faut corriger ton titre: cela n'a rien a voir avec DirectX 8 :)
 
Pour ce qui est des collisions c'est un probleme vaste
et il faut savoir ce que tu veux faire des le debut pour restreindre tes choix.
 
Premiere chose si pour chaque position horizontale tu peux en deduire la position du sol, alors tu n'as effectivement pas besoin de collisions, il suffit de faire en sorte que ton joueur suive cette position verticale (a laquelle tu ajoutes la hauteur de tes yeux bien entendu). Ca marche bien si tu as ton terrain defini soit tout plat soit par une heightmap.
Et tu peux t'arreter la (ca definit bien quelques jeux a la doom..).
 
Si par contre ton terrain est plus complique ou tu veux pouvoir faire un systeme de collisions generalisee (avec les murs, les objets) a mon avis il faudra penser aux bounding box.
Je comprends pas ta remarque comme quoi les bounding box ca rendrait rien? Les bounding box c'est juste un outil qui s'integre dans un systeme de collisions plus complexe, bref ca ne doit pas influer sur la qualite de tes predictions (la ca depend plus de ton modele).
 
L'important toujours c'est qu'a tout moment du jeu tu saches quelles sont les parties du decor que tu risques de collisionner (partitionnement de ton espace), pour ne pas avoir a faire les tests pour tout le niveau. Ca consiste simplement a classer les polygones et les objets suivant leur position pour savoir ceux qui sont proches de ton joueur.
Ensuite tu pourras t'attacher aux details, comme la taille et la forme de la bounding box (spherique, cylindrique, axis aligned, arbitrarily oriented etc..), et la precision de la recherche de collisions (au polygone pres?), la precision temporelle (intervalle a taille fixe, a taille variable?), et la qualite de la reponse a donner a la collision.
 
Bref bon courage :)
LeGreg


---------------
voxel terrain render engine | animation mentor
Reply

Marsh Posté le 24-11-2002 à 21:17:17    

je vais effectivement utiliser une height map pour le sol, mais pour les murs, et tout le reste, ca sera des bouding boxes. Utiliser une bounding box sur un terrain généré par une height map, ca ca rendra rien, vu que le terrain est un seul et même objet ;)
pour la position du joueur au sol, connaissant l'altitude de chaque point en fonction de la position sur la grille je devrais pouvoir déterminer l'altitude du joueur avec une interpolation linéaire de base entre deux (ou trois) points.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed