Pour le tri il s'agit du a.tri de test6 si je ne me trompe pas.
J'ai fais le min sur 10 images successives et j'ai encore des erreurs.
Pour info, le ray est accroché au vehicule, et je cherche les collisions avec les bordures de la piste.
Le rayon traverse allègrement la bordure, mais pas tout le temps.
J'enverais bien un screenshoot mais je sais pas faire.
Code:
n = dCollide (o1,o2,N,&contact[0].geom,sizeof(dContact));
if (dGeomGetClass(o1)==dRayClass){
if (fabs(contact[0].geom.depth)<0.1) return;
dGeomRaySetLength(o1,min(fabs(contact[0].geom.depth),dGeomRayGetLength(o1)));
return;}
if (dGeomGetClass(o2)==dRayClass){
if (fabs(contact[0].geom.depth)<0.1) return;
dGeomRaySetLength(o2,min(fabs(contact[0].geom.depth),dGeomRayGetLength(o2)));
return;}
Voici le code de collision, je filtre les collisions trop proches, pas propre mais ca marche.
Et ensuite je prends le min des depth.
Ca marche nickel avec le mur exterieur par exemple,
Sinon on vois le rayon passer de temps en temps (1 frame sur 2 ou sur 4) a travers les objets.
Dans la mailing liste d'ode, ils parlent de l'orientation des triangles des trimesh. La scene est-elle bien orientée ?
Sinon les collisions sont bonne et pas bonne a des endroits très très proches.
Je peux t'envoyer le code si tu veux.
A+
Jacques