• Create Account

Posted 20 April 2013 - 09:52 AM

Hello every one ,

In previous post "http://www.gamedev.net/topic/640972-skinned-animation-problem/"I faced problem related to rotation the weapon around the with the camera and position the weapon in front of camera  , I solve it by :

1 : Before export the Model from Blender , I first make sure to position it in (0,0,0) , then make sure it's up axis is Y-axis and make sure it face x-axis .

but the problem now is :
1 :  When I make rotation around the pitch axis it did not behave pretty and good .
2 : When I make rotation around the pitch axis by 180 I see the model hands in front of my camera !! how and see through the Weapon and hand.

This is the edited code :

Vector3 forward = cci.Camera.WorldMatrix.Forward + new Vector3(0, -5, 0);
Matrix translatePlayer = Matrix.CreateTranslation(cci.Camera.WorldMatrix.Translation+ forward);
Matrix scalePlayer = Matrix.CreateScale(0.05f);
Matrix rotatePlayer = Matrix.CreateFromAxisAngle(cci.Camera.WorldMatrix.Left,
cci.Camera.Pitch) * Matrix.CreateFromAxisAngle(Vector3.Up, cci.Camera.Yaw);
staticModel.Transform = scalePlayer * rotatePlayer * translatePlayer ;


and here 2 explanation photos :
1 : When start the game :

2 : After I make rotation around the y-axis for example 130 degree then I make rotation around the pitch axis by 30 degree see what happens :

Posted 20 April 2013 - 09:51 AM

Hello every one ,

In previous post I faced problem related to rotation the weapon around the with the camera and position the weapon in front of camera  , I solve it by :

1 : Before export the Model from Blender , I first make sure to position it in (0,0,0) , then make sure it's up axis is Y-axis and make sure it face x-axis .

but the problem now is :
1 :  When I make rotation around the pitch axis it did not behave pretty and good .
2 : When I make rotation around the pitch axis by 180 I see the model hands in front of my camera !! how and see through the Weapon and hand.

This is the edited code :

Vector3 forward = cci.Camera.WorldMatrix.Forward + new Vector3(0, -5, 0);
Matrix translatePlayer = Matrix.CreateTranslation(cci.Camera.WorldMatrix.Translation+ forward);
Matrix scalePlayer = Matrix.CreateScale(0.05f);
Matrix rotatePlayer = Matrix.CreateFromAxisAngle(cci.Camera.WorldMatrix.Left,
cci.Camera.Pitch) * Matrix.CreateFromAxisAngle(Vector3.Up, cci.Camera.Yaw);
staticModel.Transform = scalePlayer * rotatePlayer * translatePlayer ;


and here 2 explanation photos :
1 : When start the game :

2 : After I make rotation around the y-axis for example 130 degree then I make rotation around the pitch axis by 30 degree see what happens :

PARTNERS