Помянял код, делаю вот так: void updateCharPos(float dt)
{
D3DXVECTOR3 mLookW;
D3DXVECTOR3 mPos;
static float RtEf = 0.0f;
D3DXMATRIX mRotOut;
mLookW = D3DXVECTOR3(0.0f, 0.0f, 1.0f);
mPos = D3DXVECTOR3(-20.0f, 40.3f, -70.0f);
D3DXVECTOR3 dir(0.0f, 0.0f, 0.0f);
if( GetAsyncKeyState('Y') & 0x8000f )
{
dir += mLookW;
}
if( GetAsyncKeyState('H') & 0x8000f )
{
dir -= mLookW;
}
if( GetAsyncKeyState('J') & 0x8000f )
{
RtEf+=dt;
if( RtEf >= 2.0f*D3DX_PI )
RtEf = 0.0f;
D3DXMatrixRotationY( &mRotYSk, RtEf);
}
D3DXVec3Normalize(&dir, &dir);
D3DXMatrixTranslation(&mRotOut, dir.x, dir.y, dir.z);
D3DXMatrixMultiply(&mRotYSk,&mRotYSk,&mRotOut);
D3DXVECTOR3 newPos = mPos + dir*dt*10;
D3DXMatrixTranslation(&mTranSk, newPos.x, newPos.y, newPos.z);
mWorldSkm=mScalSk*mRotYSk*mTranSk;
}
Двигается впред назад, а по вектору не хочет(((