Pour commencer, une mauvaise nouvelle: ODE + un terrain non plat = gourmandise CPU
En somme, il me semble compliqué, voire complexe d'utiliser ODE pour tout.. je m'explique:
Pour les tests, actuels, Raydium filtre le terrain pour n'envoyer à ODE que ce qui est SOUS la voiture à qq metres pres, et rien d'autre... une conséquence directe est que tt objet qui sort de cette zone de qq metres.. tombe "dans le vide". Et même en triant les triangles comme à l'heure actuelle, les FPS peuvent souffir... imaginez que dans MeMak, vous vous prenez un arbre avec votre véhicule, et qu'une des roues se détache sous le choc, et que cette roue vole à qq metres de la voiture...
Plusieurs solutions se présentent:
1) donner les triangles à ODE non seulement pour les véhicules, mais aussi pour tout objet même seul (a mon avis impossible sans tomber à 2 FPS en pointe...)
2) représenter les objets "perdus" (seuls) comme des bonus "à la quake 3" (ou autre), autrement dit comme qq chose de posé par terre et que vous obtenez en marchant/roulant dessus: pour reprendre la situation avec l'arbre, quand vous vous prenez l'arbre, un "bonus" type roue apparait à qq metres de votre voiture et la votre disparait (un peu plus "arcade", mais complétement réalisable techniquement.
Et c'est là qu'arrive une autre nouvelle encore toute fraiche: Russ Smith, l'auteur principal d'ODE vient d'annoncer l'incorporation d'OpCode dans ODE ! OpCode est une librairie de collisions très poussée qui offre un "TriCollider".. en gros, une gestion des collisions des primitives d'ODE (spheres, boites, cylindres, ...) avec des triangles ! (le sol, pour nous), chose qu'ODE ne sait PAS faire pour l'instant et que nous avons émulé avec un patch tiers qui ne gère que les collisions triangles/sphéres (ce qui explique que la voiture traverse en partie le sol lorsqu'elle se renverse dans notre démo actuelle, car le corps même de la voiture [une boite] ne génère pas de collisions avec le sol, seules les roues le font), et le tout avec une probable gestion des AABB, qui vont nous permettre, à priori
, de ne pas avoir besoin de trier les triangles que nous donnons à ODE ! L'ensemble des problèmes exprimés au dessus peut être réglé si la team d'ODE assure pour la prochaine version... alors croisons les doigts pour ODE 0.036.