Bon boulot, d'ailleurs !
Code source complet -Collision 3D et réponse
Bizarre , voila la version complète que j'utilise avec les dll .Le fichier fait 1Mo.
là je ne vois pas d'où ça vient, tu n'as pas de souci avec les exemples shadow ou meshmanuel de Fred ?
http://perso.wanadoo.fr/comtois/sources ... 3DBeta.zip
[EDIT]
Ok , je préfère ça , sinon je ne comprenais plus rien
là je ne vois pas d'où ça vient, tu n'as pas de souci avec les exemples shadow ou meshmanuel de Fred ?
http://perso.wanadoo.fr/comtois/sources ... 3DBeta.zip
[EDIT]
Ok , je préfère ça , sinon je ne comprenais plus rien
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Désolé de t'avoir fait envoyé le fichier pour rien, c'est ma faute a vouloir être trop pressé
En tout cas, c'est de mieux en mieux, les collisions sont très bien maintenant, à part, comme tu l'as mentionné, dans les angles, dès qu'il y a plus de 2 triangles en même temps en fait, non ?
En tout cas bravo, j'espère voir la suite
En tout cas, c'est de mieux en mieux, les collisions sont très bien maintenant, à part, comme tu l'as mentionné, dans les angles, dès qu'il y a plus de 2 triangles en même temps en fait, non ?
En tout cas bravo, j'espère voir la suite
Ouais ben la suite, je crois que ça sera le code source .j'espère voir la suite
Le temps de le reprendre , de le commenter , et je le colle ici.
En espérant qu'en s'y mettant à plusieurs , y'en aura bien un qui trouvera ce qui cloche pour que ça ne tremble plus !
Donc au plus tard à la fin de l'année , mais sûrement avant.
Si c'est toi qui trouve le problème j'espère que tu posteras le correctif
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je n'ai pas de problème à la jointure des triangles au sol?! Tu parles de la collision? Par contre les angles des murs sont parfois visibles (ligne noire); ça vient en fait d'un problème de taille de texture je crois; puisqu'on est obligé de donner un nombre flottant, ça doit dépasser de temps en temps. C'est un peu pour ça que j'ai laissé tomber ogre, en plus du fait que chez moi c'était toujours en 16 bits, même quand je demandais du 32.
Oui je parle des collisions , si je mets une gravité importante , je peux même buter sur la jointure entre deux triangles au sol.djes a écrit :Je n'ai pas de problème à la jointure des triangles au sol?! Tu parles de la collision?
Alors que je calcule d'abord la position à atteindre avec le vecteur vitesse sans tenir compte de la gravité , donc je devrais passer au dessus de la jointure (c'est d'ailleurs cette méthode qui permet de monter les escaliers), et ensuite je calcule la nouvelle position en tenant compte uniquement de la gravité.
Puisque ça fonctionne pour les escaliers , je suppose que ça vient des approximations dans les calculs avec les flottants.
Pour savoir si je me déplace parallèlement à un triangle je calcule le produit scalaire Normale du plan * Vecteur vitesse , et si le résultat est nul alors les vecteurs sont perpendiculaires ,donc le vecteur vitesse est parallèle au plan , je pense qu'il va falloir que je surveille le résultat de ce calcul . Ou que je fasse un encadrement genre
Bref c'est plein de petits détails comme ça , à revoir ou à retoucher.If ProduitScalaire>-0,005 and ProduitScalaire<0,005 alors
Déplacement parallèle au plan
Endif
ça vient de ce que je calcule un angle pour positionner mes murs.Par contre les angles des murs sont parfois visibles (ligne noire)
C'est plus un problème de positionnement que de texture.
En fait j'ai repris ce vieux code pour faire le décor
http://purebasic.hmt-forum.com/viewtopic.php?t=24
S'il était possible de faire du multitexturage ,je n'aurais fait qu'un seul mesh pour le décor , et je n'aurais pas eu à calculer des angles , j'aurais pu positionner chaque vertex exactement à sa place ,et on ne verrait pas les lignes noires ,
J'attends de voir si ça sera possible avec la V4
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Ok!
C'est clair qu'il nous manque plusieurs trucs pour faire de la 3d "facilement" sans avoir à recoder des trucs ou utiliser des libs : le support du 64 bits semble capital, pour la précision des flottants, par exemple avec les matrices; le support de l'alpha; le support de directx 9 (et de ses ascendants), etc.
Fred travaille là dessus et il va nous trouver quelque chose de bien réfléchi qui nous comblera, j'en suis sûr!
C'est clair qu'il nous manque plusieurs trucs pour faire de la 3d "facilement" sans avoir à recoder des trucs ou utiliser des libs : le support du 64 bits semble capital, pour la précision des flottants, par exemple avec les matrices; le support de l'alpha; le support de directx 9 (et de ses ascendants), etc.
Fred travaille là dessus et il va nous trouver quelque chose de bien réfléchi qui nous comblera, j'en suis sûr!
YAhouuououououou !!!
Je suis trop content , j'ai enfin trouvé mon erreur !!
ça ne tremble plus et je passe correctement les jointures au sol.
J'étais en train de rédiger un tutoriel sur les collisions , et arrivé au chapitre résolution d'une équation du second degré , j'ai trouvé une solution intéressante sur wikipédia
http://fr.wikipedia.org/wiki/%C3%89quat ... degr%C3%A9
Voir le chapitre "Gain de précision" en bas de l'article .
En voyant ça , j'ai voulu tester , et comparer les résultats avec la procédure que j'utilisais.Et je me suis rendu compte que ma procédure ne retournait aucune valeur , alors qu'elle m'indiquait bien qu'il y avait une solution pour résoudre l'équation , en fait , j'avais fait une erreur sur un pointeur.
Et du coup , je récupérais une mauvaise valeur
J'ai corrigé le pointeur , et maintenant , ça fonctionne nickel
Bon j'ai encore pas mal de boulot pour rédiger le tutoriel , et commenter le code, mais je préfère donner un code qui fonctionne , j'étais pas satisfait du précédent .
En attendant encore une petite démo , je sais que ça fait plaisir à Chris mes démos
Il n'y a pas de ninja ni de robot ,c'est une vue à la première personne.
Touche [F1] pour afficher la map en 2D.
Bouton gauche de la souris pour tirer.
la balle ne va pas vite ,c'est pour me laisser le temps d'aller vers la cible et de vérifier que la balle atteint bien l'objectif visé ( une tache sur un mur , ou un truc facilement repérable).
Le calcul de l'angle est correct si on ne tire pas trop haut ni trop bas, je vais voir pour améliorer ça par la suite. Ensuite , il n'y aura plus de balle , juste un lancé de rayon , si le rayon touche sa cible , elle explose ,et on en parle plus
http://perso.wanadoo.fr/comtois/sources/VisuMap3D2.zip
Je suis curieux de savoir si ça rame chez vous ou pas , vous avez quel FPS ?
Chez moi il est à 75 .
Je suis trop content , j'ai enfin trouvé mon erreur !!
ça ne tremble plus et je passe correctement les jointures au sol.
J'étais en train de rédiger un tutoriel sur les collisions , et arrivé au chapitre résolution d'une équation du second degré , j'ai trouvé une solution intéressante sur wikipédia
http://fr.wikipedia.org/wiki/%C3%89quat ... degr%C3%A9
Voir le chapitre "Gain de précision" en bas de l'article .
En voyant ça , j'ai voulu tester , et comparer les résultats avec la procédure que j'utilisais.Et je me suis rendu compte que ma procédure ne retournait aucune valeur , alors qu'elle m'indiquait bien qu'il y avait une solution pour résoudre l'équation , en fait , j'avais fait une erreur sur un pointeur.
Et du coup , je récupérais une mauvaise valeur
J'ai corrigé le pointeur , et maintenant , ça fonctionne nickel
Bon j'ai encore pas mal de boulot pour rédiger le tutoriel , et commenter le code, mais je préfère donner un code qui fonctionne , j'étais pas satisfait du précédent .
En attendant encore une petite démo , je sais que ça fait plaisir à Chris mes démos
Il n'y a pas de ninja ni de robot ,c'est une vue à la première personne.
Touche [F1] pour afficher la map en 2D.
Bouton gauche de la souris pour tirer.
la balle ne va pas vite ,c'est pour me laisser le temps d'aller vers la cible et de vérifier que la balle atteint bien l'objectif visé ( une tache sur un mur , ou un truc facilement repérable).
Le calcul de l'angle est correct si on ne tire pas trop haut ni trop bas, je vais voir pour améliorer ça par la suite. Ensuite , il n'y aura plus de balle , juste un lancé de rayon , si le rayon touche sa cible , elle explose ,et on en parle plus
http://perso.wanadoo.fr/comtois/sources/VisuMap3D2.zip
Je suis curieux de savoir si ça rame chez vous ou pas , vous avez quel FPS ?
Chez moi il est à 75 .
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Houla 40 seulement ?
il est temps d'optimiser
et quand tu dis que ça saccade , c'est quand tu es en collision dans un angle , ou n'importe où ?
Tiens j'en ai profité pour changer les textures et mettre un ciel , c'était mieux avec la skyBox() mais y'a un bug d'affichage avec la version beta d'ogre
il est temps d'optimiser
et quand tu dis que ça saccade , c'est quand tu es en collision dans un angle , ou n'importe où ?
Tiens j'en ai profité pour changer les textures et mettre un ciel , c'était mieux avec la skyBox() mais y'a un bug d'affichage avec la version beta d'ogre
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
60 FPS
P4 2,6 Ghz
256 Ram
Ati radeon 9200 pro
winxp
directx9c
resolution 1152x864 / 32bits
P4 2,6 Ghz
256 Ram
Ati radeon 9200 pro
winxp
directx9c
resolution 1152x864 / 32bits
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Et tu étais connecté à internet quand tu as testé ?flaith a écrit :ca saccade (ca fige et reprend tout de suite après) n'importe ou !
Chez moi ça peut aussi saccader si je suis connecté , sinon c'est fluide.
Mais bon, il y a quand même des améliorations à apporter pour que ça tourne correctement sur d'autres machines.
Merci Progi1984, et chez toi , ça saccade aussi ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Oui mais ma connexion passe par un modem/routeur qui est connecté à un switch et les micros sont connectés au switch (petit réseau chez moi) donc ca ne vient pas de la cnx (enfin j'espèrescomtois a écrit : Et tu étais connecté à internet quand tu as testé ?
Chez moi ça peut aussi saccader si je suis connecté , sinon c'est fluide.
Sinon les DLL (engine3D et stlport) utilisées viennent du pack ogre1.0.3
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Pas de saccade !
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net