Bonjour.
voila, je me pose qq questions concernant l\´animation 3D temps réel.
Supposons que j\´ai un perso (mesh avc plusieurs bones, modélisé sous 3DsMax 6) à déplacer en fonction de ce qu\´a fait l\´utilisateur.
Je veux, pour l\´instant déplacer mon perso de maniere rectiligne.
Plus précisement, tant que le joueur appuie sur la touche avancer, le perso avance.
Ma vision des choses serait la suivante:
I/ Création d\´un déplacement élémentaire
je crée une fonction deplacement_elementaire() qui fait avancer mon perso sur 2 pas (pied gauche puis pied droit).(je fais des rotation avec des matrices sur mes bones)
II/ Qd je veux faire avancer mon perso(parce que le joueur appuie sue la touche \"avancer\"), je procède ainsi:
----debut de l\´algo------------
tant que le joueur appuie
{
-on regarde si la prochaine position ns met en collision avc le monde (methode d\´interpolation entre ma position précédente et ma future position)
If (collision == false)
{
si je ne serais pas en collision, alors je regarde jusqu\´où je dois faire avancer mon perso en faisant ainsi:
.je vais aplliquer à mon mesh une force constante pour avancer (qu\´on peut voir comme une vitesse notée v)
.je regarde le dt qui s\´est écoulé entre la précédente frame et maintenant
.position = position + v.dt [approximation d\´Euler correcte sur un pas assez faible]
Je sais maintenant jusq\´où je dois le faire avancer
-tant que (|objet.saposition - position| > présic
ion // il nous faut une précision car il est fort probable que le déplacement élémentaire ne nous mene pas exactement là où on veut
{
deplacement_elementaire() // je joue le dépl
acement élémentaire
}
//on est arrivé à destination
}
If (collision == true)
{
//je gère les collision (relativement) présisemm
ent avec la methode de projection de rayon (ca je sais faire)
}
// si il a continué à appuyer : ca va revenir au t
t debut, sinon, on va sortir de la gd boucle
}
-----fin de l\´algo------------
Bien sur je peux rajouter d\´autre forces exterieures qui lorqu\´elles seront présentes l\´emporteront sur notre volonté de déplacer le perso (notre v de tt à l\´heure)(ex:qd mon perso prendra un coup d\´épée, je veux qu\´il subisse le coup et non pas qu\´il avance comme si de rien n\´était).
Voila, il se peut que ma vision des choses soit très mauvaise mais comme je n\´ai aucune connaisance particulières sur ce sujet, je voulais votre avis qui, je le sais, m\´éclairera.
Merci d\´avance pour tout commentaire.