Bonjour,
J'utilise pour la gestion de mes animations la classe bien connue présentée sur ce site :
http://www.tar.hu/directx9kick/ch13lev1sec3.html
Cependant, j'ai un problème avec les rotations. En effet, lorsque je veux appliquer une rotationX ou une rotationY (ou Z) par exemple, elle s'effectuera autour de l'origine (centre de l'écran) et non par rapport au mesh même.
Je m'explique. Par exemple, je veux simplement faire pivoter de 90° un personnage pour le faire changer de direction. Seulement le personnage va tourner en effet mais autour du centre de l'écran comme s'il était sur une platine 33 tours.
Je soupçonne l'origine de mon problème mais je ne sais pas trop comment m'y prendre car rien n'y fait :
device.RenderState.VertexBlend = (VertexBlend)numBlend;
De plus si j'effectue une rotation dans la classe animation sur le device.transform. world rien n'est fait. Le vertexBlend doit bien y être pour quelque chose. Autre exemple, si je charge le célébre Tiny.X de microsoft, tout ma scène est modifiée et trimbalée de part et d'autre de l'écran... On sent bien que la classe animation à la main mise sur la scène mais pourquoi et comment ?
Merci pour votre aide car je butte dessus depuis longtemps.
Partager