cedricdierckx
Messages postés5Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention23 juin 2006
-
1 août 2004 à 10:15
ShadowMaster
Messages postés184Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention18 août 2005
-
9 août 2004 à 15:18
Salut
donc j'ai commencé à faire un petit jeu d'avions, mais j'ai un problème en tournant l'avion: il doit savoir tourner sur son axe X et Z. Donc j' ai écris:
DX.RotateXMatrix matSquareX, PlayerRotationX * Rad
DX.RotateZMatrix matSquareZ, PlayerRotationZ * Rad
DX.MatrixMultiply matSquare, matSquareX, matSquareZ
(matsquare est la matrice pour tourner l'avion)
le problème est qu'il tourne d'abord l'avion autour de l'axe X et puis au lieu de tourner l'avion autour de SON axe Z, il le tourne autour de l'axe Z, après l'avoir déjà tourné autour du X...
Je serais HYPER content si quelqu'un pourrait me répondre, bien que j'ai déjà cherché comment faire un peu partout et je n'ai pas trouvé.
ShadowMaster
Messages postés184Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention18 août 2005 9 août 2004 à 15:18
pris du sdk Dx8:
Public Function AddRotation(combinetype As CombineTypeEnum, X As Single, Y As Single, z As Single, rot As Single)
Dim mat As D3DMATRIX
D3DXMatrixRotationAxis mat, vec3(X, Y, z), rot
Select Case combinetype
Case COMBINE_BEFORE
D3DXMatrixMultiply m_Matrix, mat, m_Matrix
Case COMBINE_AFTER
D3DXMatrixMultiply m_Matrix, m_Matrix, mat
Case COMBINE_replace
m_Matrix = mat
End Select