Raydium 3D Game Engine
http://memak.raydium.org/

Ode Ray
http://memak.raydium.org/viewtopic.php?f=8&t=271
Page 2 of 2

Author:  ouille [ Wed Oct 12, 2005 2:58 pm ]
Post subject:  collision ray tri

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

Author:  Xfennec [ Wed Oct 12, 2005 3:07 pm ]
Post subject: 

Envoie le code si tu veux (utilise le ftp anonyme de cqfd-corp.org par exemple). Pour faire une capture d'écran, fait "SHIFT+²". Ca va te générer un fichier TGA du genre "raycap...". Je vais faire mes propres expérimentations dès ce soir, peut être vais-je en apprendre plus. Les triangles de "a.tri" (qui est en fait "cocorobix.tri") sont tous correctements orientés, c'est une certitude (ça nous a posé pas mal de problèmes lors du passage aux trimeshs d'ODE). Ta voiture serait projetée très fort, sinon :)

Author:  ouille [ Wed Oct 12, 2005 3:30 pm ]
Post subject:  du grain

Voila j'ai mis raytest.rar et une capture d'ecran dans le ftp anonyme.

Attention le ray ne passe pas toujours a travers, j'ai fais une capture au bon moment.
Il faut appuyer sur 'espace' pour creer le capteur (ray)
la distance est affiché en bas a droite
la vue utilisée est 'F4'

A+
Jacques

Author:  Xfennec [ Wed Oct 12, 2005 3:37 pm ]
Post subject: 

Tu n'utilise que le premier contact ! (contact[0].geom.depth devrait être contact[i].geom.depth et ce dans la boucle for qui est ligne 145 dans ton odex.h)

Author:  ouille [ Wed Oct 12, 2005 7:24 pm ]
Post subject:  les rayons

Si c'est cela j'ai honte.
Je me suis basé sur la doc ode, il me semble qu'un ray genère 1 contact.
Je verifie de suite.
A+

Author:  ouille [ Wed Oct 12, 2005 7:29 pm ]
Post subject:  pas ca encore

Bon ben j'ai honte ...
Code:
    for (i=0; i<n; i++)
   {   
   e1=dGeomGetData(contact[i].geom.g1);
   e2=dGeomGetData(contact[i].geom.g2);

   if(e1==NULL || e2==NULL)
       continue; // Deleted, or not one of our elements
      if (dGeomGetClass(o1)==dRayClass){
      if (fabs(contact[i].geom.depth)<0.1) continue;                                   
      dGeomRaySetLength(o1,min(fabs(contact[i].geom.depth),dGeomRayGetLength(o1)));
          continue;}
      if (dGeomGetClass(o2)==dRayClass){
      if (fabs(contact[i].geom.depth)<0.1) continue;                                   
      dGeomRaySetLength(o2,min(fabs(contact[i].geom.depth),dGeomRayGetLength(o2))); 
           continue;} 


Merci pour le coup de main !!!
A+

Author:  Xfennec [ Thu Oct 13, 2005 6:29 am ]
Post subject: 

Y'a pas de raison d'avoir honte, tout le monde a écrit des bourdes dans ce genre :)
Accessoirement, je suis arrivé à un stade intéressant de l'intégration des ray dans le moteur, hier soir, il me reste encore à paufiner les fonctions "utilisateur" avant de commiter le tout. Après tests et réflexion, je n'ai pas implémenté les rayons en tant que primitives, mais en tant que "compléments" des autres primitives (il est donc possible d'associer un rayon à une box ou une sphère).
Je vais tenter de terminer ça ce midi.

Author:  ouille [ Thu Oct 13, 2005 3:39 pm ]
Post subject:  Raydium

Raydium à la fête de la science a Clermont Ferrand ...

La demo a tournée toute la journée, sans soucis.
Elle consistait à faire de la commande référencée capteur. L'objectif etant de faire suivre un mur à un vehicule équipé d'un télé metre.
La régulation etait faite à partir d'un telemètre ultra son commandant un petit vehicule radio commandé. Le tout implanté sur un micro-controlleur Renesas M32.
La demonstration de l'application à utilisée le Raydium, pour la simulation du comportement physique du vehicule et le rendu de la scène.

Beaucoup d'etudiants plus ou moins jeunes on appréciées la demonstration, préférant cependant faire faire un looping au vehicule plutot que de règler le correcteur.

Merci pour tout.
Accrocher les rayons a des objets me semble une bonne idée, je preche pour ma paroisse mais ce serait bien que l'on puisse definir si il doit ou non etre affiché.

Maintenant je vais regarder l'appli reseaux, pour que les manips puissent se faire avec plusieurs vehicules.

A+
Jacques

Author:  Xfennec [ Thu Oct 13, 2005 3:58 pm ]
Post subject: 

Je ne savais pas que c'était si tôt !
Merci beaucoup de ton retour, ça fait très plaisir de voir Raydium utilisé de cette façon :) Si tu disposes de photos ou de vidéos sur ce projet (et que ça ne te gêne pas que je publie le tout), je serais très intéressé !

Encore merci de ton retour d'expérience.

PS : le commit traîne, mais je n'ai eu que peu de temps aujourd'hui :)

Author:  ouille [ Thu Oct 13, 2005 7:10 pm ]
Post subject:  Retour

Et oui c'etait aujourd'hui, ce qui explique le ruch et les nuits un peu courtes !

Quelqu'un a fais des photos j'ai peur que ca ne soit pas top, j'en ferais pendant les tp sinon.
Je ne vois pas comment je pourrais refuser que tu publie quelque chose, raydium etant open source c'est la moindre des choses.
Je vais continuer a bosser sur Raudium, peu etre un peu plus cool.
Et si il faut un coup de main ponctuellement je peu aussi aider.

Merci surtout pour ton aide.

A+
Jacques

Author:  Xfennec [ Fri Oct 14, 2005 10:01 am ]
Post subject: 

En ce qui concerne les photos, tout m'intéresse ! :) Au minimum pour me faire une idée de ce à quoi ressemble ton projet, au mieux pour les placer sur le site web du projet.

J'ai commité le support des rayons, avec (dédicace ;) ) la possibilité de les afficher. Je vais mettre la doc à jour sur le wiki.

Page 2 of 2 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/