Accueil > Forum > > > > les collisions
les collisions
lundi 18 septembre 2006 à 18:28:43 |
les collisions

StrikerFred
|
bonjour ! bon maintenant que je sais créer des vertices (sans textures pour le moment) et me déplacer, j'aimerais mettre des collisions alors vous allez me dire que y'a déjà plein de sujets. Mais j'aimerais savoir comment faire des collisions SIMPLES avec les carrés que je fais en vertices, y'a pas de personnages devant la caméra, faut juste que on traverse pas les carrés ! lol ils sont fait avec une simple structure: struct VERTEX { FLOAT x,y,z; DWORD color; }; et en voilà deux images:   j'ai tout à fait compris l'algo mais je sais pas comment tester ces collisions POUR DES SIMPLES VERTICES (et pas pour des objets): [CODE] Pour tous les murs présents si mur.Collision(personnage) == true { alors le personnage ne peut pas avancer. quit } Aucun obstacle, le personnage peut avancer. [/CODE] donc si on pouvait me donner un tutorial TRES simple (en francais svp) ou mieux, m'expliquer sur le forum? (oui j'en demande beaucoup...) ca pourra, je l'espère me faire une intro pour les collisions "normales" voilà! merci d'avance !  a+ !
|
|
lundi 18 septembre 2006 à 18:37:24 |
Re : les collisions

luhtor
|
T'as quel niveau de maths ?
|
|
lundi 18 septembre 2006 à 18:42:05 |
Re : les collisions

laurent1024
|
Avec tes points tu peux calculer une equation de plan.Avec cette eqution de plan tu peut voir s'il va avoir une collision. Equation de plan ax + by +cz = 0 Position du perso P (xp, yP, zP) Position du perso apres déplacement Q (xQ, yQ, zQ). si a * xP + b* yP + c * zP est du meme signe que a * xQ + b* yQ + c * zQ pas de collision sinon collision Faut aussi prendre en compte a position du point pour savoir s'il y est en face des 4 points qui définisse le rectangle.
++
|
|
lundi 18 septembre 2006 à 20:31:38 |
Re : les collisions

StrikerFred
|
ne rigolez pas, j'entre en seconde ^^ mais je suis logique et je suis pret à apprendre (pour les besoin de la programmation) toutes les règles qu'il faudra ^^ ca a l'air interressant l'équation de plan mais j'ai pas tout compris  ou interviennent les points de mes carrés de vertex ? fait-on l'équation pour chaque carré, chaque droites (chaque points ?) ? la en l'occurence j'ai 12 instance de la structure vertex (1 triangle = 3points, mes carrés sont fait de 2 triangles..  lol) moi on m'avait dit de faire une bounding box et des évalutations : if(xminPerso > xmaxMur) then pas de collision if(xmaxPerso < xminMur) then pas de collision etc....etc.... mais je sais pas... ton évaluation de plan a l'air cool  bon, merci d'avance !!! a+
|
|
lundi 18 septembre 2006 à 20:59:25 |
Re : les collisions

luhtor
|
Arf oue seconde. Avec des produits scalaire ca se fait très facilement,
mais tu devras attendre quelques années. (plusieurs meme).
Tu as besoin de gérer des grandes map ? Car sinon, tu créés un tableau
2D (1d en fait, mais que tu vois à 2 dimension), donc c'est une sorte
de damier. Si la case est noir, ca veut dire que ya un obstacle, si
elle est blanche le joueur peu avancer. Tu remplis ce damier à partir
de la liste des murs que tu as. Le pb est que si tu veux que le joueur
glisse le long du mur, ca risque d'etre un peu chiant.
|
|
lundi 18 septembre 2006 à 21:20:24 |
Re : les collisions

StrikerFred
|
mais faut m'expliquer le produit scalaire ! je veux bien apprendre ben je demenderai à mes ainés, ils m'expliqueront bon, pour le système de damier (les tuiles en langage 2d non?) je connais et je pense que c'est pas ce que je veux, oui oui je veux des vrais collisions, je veux faire un vrai jeu (complet, vendu des millions, je suis riiiiche ! non je rigole) vous me prennez pas au sérieux, mais c'est pas un petit passe-temps, je veux en faire mon métier plus tard! j'ai appris différents langages, je me lance dans la 3d, autant que j'apprenne ces règles de math maintenant ! lol je sais que dans les math de haut niveau, y'a des trucs assez abstrait (le nombre i non? je dis ptètre que des bobards) mais j'ai l'esprit ouvert ! heum... bon voilà donc produit scalaire ou se que tu veux, je suis pret à apprendre ! (et a y passer du temps aussi) a+ et merci d'avance ! 
|
|
lundi 18 septembre 2006 à 21:49:52 |
Re : les collisions

luhtor
|
"ces règles de math maintenant". <= oui mais c'est bien ca le pb.
C'est pas des règles de maths qu'il faudrait que tu apprennes, c'est
les maths tout court. Et c'est pas le lycée qui te l'apprendra. Donc
j'ai bien peur qu'il te faille être partient.
Le nombre "i", c'est que de la "gueule" ca. Ya rien de compliqué derriere, mais pour la 3D, ca sert a rien.
En bref, faut au moins que t'attende une année pour avoir une
introduction aux vecteurs, sauf si tu as qqn pour t'aider, mais auquel
cas tu n'aurais pas posté ici. (tout ca, n'est que mon avis personnel)
|
|
mardi 19 septembre 2006 à 07:26:18 |
Re : les collisions

StrikerFred
|
aha.... ben je veux bien apprendre les "maths tout court" aussi ! et puis, j'ai quelqu'un qui peut m'aider, mais que en math! il connait strictement rien en programmation donc ne pourrais tu pas me dire la facon de détecter les collisions avec les produits scalaires ? sinon je te dis que j'ai le niveau de math de 3ans après le bac et voilà ^^
non sérieusement, je veux savoir ! je suis convaincu que c'est pas si compliqué que ca
|
|
mardi 19 septembre 2006 à 13:18:59 |
Re : les collisions

luhtor
|
Hypothèses: Tous tes murs sont de dimensions identiques et situés à la meme altitude. Avec ca, c'est relativement simple.
Donc on peut voir tes murs comme des segments sur un plan. Pour chaque
mur, on définie un rectangle 3D englobant si le joueur rentre dans ce
rectangle, alors il doit etre repoussé.
Pour chaque mur, faut calculer le vecteur normal, le vecteur tangentielle (direction des segments) et le centre des segments.
Evidemment, tous les vecteurs doivent etre normalisés. (longueur 1)
Faut apres te donner une distance minimale a partir de laquelle le joueur doit etre bloqué (epsilon).
Soit O le centre d'un mur et M la position du joueur.
Soit N le vecteur normal au mur et T le vecteur tangentielle.
Le produit scalaire de OM par N te donne la distance entre le joueur et
la face du mur et OM scalaire T donne la projection du joueur sur le
mur.
Donc en gros:
le joueur touche le mur si :
(valeur absolue de (OM scalaire N) < epsilon) ET (valeur
absolue de (OM scalaire T) < epsilon + demi longueur d'un mur).
Lorsque le joueur touche le mur, suivant le coté ou il touche, il faut
supprimer une composante de la vitesse pour pas qu'il passe a travers.
Donc demande a tes connaissances pour t'expliquer le produit scalaire, le calcul du vecteur normal et tangentielle.
|
|
mardi 19 septembre 2006 à 18:46:25 |
Re : les collisions

StrikerFred
|
oua super! merci pour la réponse, je vais demander et ensuite je pense que je comprendrai ! si jamais, je poserai d'autres questions ^^
bon, d'un point de vue plus "directx", on passe tous les murs dans une boucle et on vérifie ca? la composante de la vitesse qu'il faut enlever, comment on la connait? si j'ai compris, si le joueur allait tout droit, (que du z) on supprimerai l'évolution en z et s'il avancait que avec du x (je sais pas si c'est compréhensible) on supprime "l'évolution" en x non?
mais si y'a un peu de x et de z, comment fait-on ? (je veux que le joueur glisse sur les murs)
merci! a+
|
|
Cette discussion est classée dans : collisions, personnage, vertices, carrés, simples
Répondre à ce message
Sujets en rapport avec ce message
Interaction camera <-> collisions [ par DarkBoss ]
Hellowww,alors voila je me demandais tout bêtement, on parle beaucoup de comment detecter les collisions, mais pas beaucoup de comment gérer les colli
S'il vous plait Aidez moi!!!!!!!!! [ par starbluesky ]
SalutPouvez vous me dire comment utilisez la memoire virtuelle pour allouez d'espace pour une matrice de taille 250000 * 500 ?j'ai utilise dans mon pr
Constructeur et polymorphisme [ par Guiiil ]
Bonjour à tous, Je suis en train de réaliser un p'tit jeu de rôle pour me faire la main (et une PTI au passage, les BTS IG comprendront), et je bloque
Séparation et organisation [ par LeSac ]
Bonjour. j'aimerai separé un petit debut de jeu en plusieurs fichiers simple a lire. Je manque d'organisation et aussi de comprehension de l'utilisat
Coloration de graphes [ par marwa5 ]
Bonsoir Je fais ma mémoire de recherche concernant le problème de coloration de graphe. Pour se faire, j'utilise l'algorithme gnétique, mais je me su
Quelques questions simples [ par ajdev33 ]
Bon dans les catégories qu'est ce que API et sinon comment fait on pour savoir si sa source appartient plutot au niveau 1, 2, ou 3.Merci d'avance
je voudrais afficher les résultats de mon programme dans des carrés [ par arconius ]
Voila à l'aide de conio.h je dessine en ascii des carré, puis je voudrais avoir les résultats que mon programme affiche dans ces carrés.Mon problème e
Moteur 3D, gestion des collisions [ par fabienGL ]
Bonjour, je vous écris car j'ai 2 question :1)OpenGL c'est une librairies graphiques, pourtant entends-t-on parler de moteurs 3D j'aurais aimé savoir
help : collisions particules en OpenGL [ par kx2k3 ]
je suis en train de plancher sur des particules en ce moment, en openGLje voudrais les faire rebondir sur un plantous les exemples que j'ai trouvés le
tableaux & collisions [ par JediMaster ]
j'utilile directdraw avec la technique du blitting (les pixels d'une certaine couleur sont pas collé sur la surface et donc cela crée la tranparence)j
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|