PDA

Voir la version complète : Collisions avec un terrain


Kinju
13/12/2005, 17h57
Bonjour à tous,

Je suis actuellement en train d'implémenter les commandes de ma voiture sur un terrain.

Pour le moment, j'ai fais évoluer X et Z et le cap selon les touches appuyées par l'utilisateur, avec une vitesse etc...

Là ou ça se complique, c'est pour régler le Y, le tangage et le roulis... Je sais pas trop comment m'y prendre.
J'ai fait une première ébauche:

J'ai les coordonnées X, Y et Z de la voiture.
J'ai sa BoundingBox.

Avec ça, je récupère les coordonnées X, Y et Z de chacunes des roues.
Je fait un p'tit test de collision: pour chacune des roues, je fait du picking. Si la hauteur du sol est trop élevée, il y a collision, je modifie la vitesse selon un coeficient de rebond multiplié par le produit scalaire de la face du sol touché et du vecteur de tranlation de la roue, et la voiture rebondit.

Ensuite, je passe donc au tangage, roulis et Y.
Pour ça, j'ai la hauteur du sol pour chacune des roues. Donc je me retrouve avec X, Y et Z de chacunes des roues. Avec ça, je dois déterminer le tangage, le roulis et le Y de la voiture.

C'est là où je sais pas trop comment m'y prendre. Vous feriez comment à ma place?

Je fais d'abord ça, et ensuite je ferai intervenir la gravité pour les chuttes etc...

Merci

A bientôt

Kinju
13/12/2005, 18h09
En plus, toutes les roues ne touchent pas forcément le sol...

Imaginez un tremplin. La voiture passe à moitié dessus, y'aura 1 roue dans le vide. Alors pour déterminer la bascule de la voiture, faudra jongler avec le centre de la bounding box, et la droite d'intersection du sol avec la voiture pour savoir y'a chutte ou pas.

Mais pour trouver la droite d'intersection... j'peux pas faire du picking et tester si on est sur le tremplin ou le sol et faire bouger le rayon partout...

J'ai du passer à côté de quelque chose, d'une technique plus simple et moins "bidouille"