CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

collision dans les jeux 3d

delf__ar
delf__ar
Niveau 7
05 mars 2005 à 15:43:32

voila, j´aimerais savoir comment les créateurs de jeu gèrent les collision, si c´est un truc du genre
if(positionjoueur == positionobjet)reculer();

ou si ca fonctionne autrement

DS-Shadow
DS-Shadow
Niveau 6
05 mars 2005 à 17:38:12

un ray tri en gros tu fournis 2 vecteur ( postion, direction) et 3 points du triangle a tester. ça c´est pour de la collision precise sinon tu calcul les bounding box ou sphere de tes objets, et tu verifie si la postions a gerer la collision est centenu dedans.
bien bien sur ça c´est pour de la 3d

DS-Shadow
DS-Shadow
Niveau 6
05 mars 2005 à 17:48:54

centenu=contenu

Lapintade
Lapintade
Niveau 30
05 mars 2005 à 17:56:13

delf__ar > Tout depends de la nature de tes " object" a tester.

Lorsque tu as des objets de petites tailles ( une table, un perso, un tronc, etc . ..) tu peux utiliser des formes simplifiées pour tester si les objects collisionnent ou pas ( la position de suffit pas). La forme la plus utilisée est la sphere ( car les calcul d´intersection sont simples). Pour chacun de tes objects, tu l´englobe dans une ou plusieurs spheres. Ensuite tu tests si les sphere collisionnent ou pas. Les objects utilisés pour la collision sont toujours beaucoup plus simple que les objects graphiques. Il existe quasiment deux monde ( un monde graphique et un monde pour les collisions).
Lorsque deux objects collisionnent, tu peux gerer la reaction que tu veux ( ne pas avancer, reculer, fait un bond, teleporter a la limite du contact, etc . ..).

Pour des objects plus grand ( un terrain par exemple), il faut utiliser d´autre methodes, ou les tests sont plus precis ( car la forme de l´object est plus compelexe).

En esperant que ca reponde a ta question.

delf__ar
delf__ar
Niveau 7
05 mars 2005 à 18:41:45

vous avez des tutoriaux?

Perdu_de_linfo
Perdu_de_linfo
Niveau 9
05 mars 2005 à 18:49:06

" Pour des objects plus grand ( un terrain par exemple), il faut utiliser d´autre methodes, ou les tests sont plus precis ( car la forme de l´object est plus compelexe). "

>Lapintade, tu pourrai dire en qq mots comment ce test s´effectue? En rejouant à starfox cet apres-midi je me suis justement posé la question^^:p

merci d´avance :)

Lapintade
Lapintade
Niveau 30
05 mars 2005 à 20:15:05

vous avez des tutoriaux?

moi non. Google t´aidera surement

tu pourrai dire en qq mots comment
ce test s´effectue

Le mieux c´est de stoquer des faces " collisions". Toute la difficulté consiste a stocker ces faces et a rapidement trouver les faces qui sont proches de l´endroit ou tu fais ta collision ( tester toutes les faces du mondes pour trouver celle avec lesquelles tu collisionne est trop long).
Pour cela il existe plein de methodes. A mon boulot, on utilise des bsp pour decouper le monde en " groupes de faces". C´est un algo recursif, c´est decoupé en groupe de plus en plus petits. De plus sur chaque face, on indique quel sont les voisins pour les retrouver plus vites.
Pour tester si ton objet collisionne le sol, tu demande la liste des faces qui sont proches ou qui sont dessus et tu test la collision entre ta sphere et tes faces ou ton rayon et tes faces.

Difficile a resumer car il existe tellement de methode differente. Globalement ca ressemble cependant a ca.

delf__ar
delf__ar
Niveau 7
07 mars 2005 à 18:36:30

il y a pas des tutos? sur google, je trouve rien

JeanYvesYves
JeanYvesYves
Niveau 10
07 mars 2005 à 18:42:47

cherche " bounding box" ou " bounding sphere"
de toute façon, on ne fait jamais : positionjoueur == positionobjet, car ça ne marcherait uniquement si les 2 objets étaient parfaitement superposés, ce qui est hautement improbable...
Apres, comme a dit Lapintade, tout dépend la nature des collisions.

delf__ar
delf__ar
Niveau 7
07 mars 2005 à 18:54:08

je trouve rien comme tutoriaux sur google.be pour bounding box et bounding sphere avec openGL, vous avez pas des site?

LGV
LGV
Niveau 28
07 mars 2005 à 18:55:23

pour completer tout ce qui a ete dit, il y a qq bons articles Gamasutra sur la question.

gollumkawder
gollumkawder
Niveau 10
07 mars 2005 à 20:46:24

http://nehe.gamedev.net
´me semble qu´il y a un tuto sur les collisions...

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment