-
collision 3d
salut a ts
je suis en train de faire un jeu genre fps. :lol:
pour le moment j'arrive a faire des murs et gérer les collisions entre la camera et ces murs 8) mais seulement si les murs suivent un l'axe x,y ou z ( il suffit de mettre la vitesse de la camera sur cette axe a 0 ) :cry:
donc ma question c'est comment gerer les collisions entre la camera et les murs si il sont inclinés :?: ( sol en pente par exemple )
je programme en c++ avec opengl
merci
-
Les collisions 3D ne sont pas simples à gérer, mais heureusement tu as des tonnes de documentations sur le sujet.
Avec un minimum de recherche tu devrais trouver bien plus d'explications qu'il ne t'en faut.
Un petit conseil tout de même : le type de gestion que tu vas choisir va dépendre fortement de ton système de partitionnement de l'espace. Pour un FPS en intérieur tu as sûrement un BSP (si ce n'est pas le cas penche toi déjà sur ce sujet :wink:), il existe des algos de collision typiques pour ce genre de structure.
-
ben en fait je me sert pas d'1 arbre bsp j'ai juste mis tous les murs dans une liste chainée et je teste les collisions avec tous les murs.
je sais c'est pas tres optimisé mais le monde que j'ai fai n'est pas bien grand et pour le momment sa tourne a 90 fps sans trop de pb.
pour les collisions j'ai bien sur deja chercher sur google et je n'ai pas trouver grand chose.
peut etre que je n'utilise pas les bon mots clés.
tu n'aurais pas qq site ?
-
Les sites :
http://www.gamedev.net
http://www.flipcode.org
http://www.gamasutra.com
Les liens :
http://www.google.fr/search?hl=fr&c2coff=1&q=ellipsoid+collision+detection&spell=1
Les 3 premiers ont de grandes chances d'être très bons. Les autres très certainement aussi, mais je me suis arrêté là.
Good luck
-
-
Tu peux faire des lancés de rayons, et voir si tes rayons traversent ou non une facette.
J'ai déjà détaillé ça dans quelques uns de mes posts. Ca explique aussi comment gérer le glissement contre un mur, etc.
-
et pourquoi ne pas calculer ou se trouve la camera par rapport au plan correspondant au mur a l'aide d'un simple produit vectoriel ?