04/08/25 00:26 0I+idDk/
すいません、
恥かしながら視点の変更でつまずいてしまったのですが、お聞きしてよろしいですか?
下のコードにおいて、
D3DXMatrixRotationY はきちんとY 軸回りにカメラの位置が回転するのですが、
D3DXMatrixTranslation はカメラが微動だにしません。
どなたかご教授お願いします。
static D3DXVECTOR3 targetPos(5.0, 5.0, 5.0);
static D3DXVECTOR3 eyePos(10.0, 10.0, 10.0);
static float t = 0.0;
D3DXVECTOR3 d3dVec = eyePos;
D3DXMATRIX d3dMat;
t += (1 / g_game.GetFrameRate());
if (t > 0.1) {
t = 0.0;
//D3DXMatrixTranslation(&d3dMat, 1.0, 1.0, 1.0); // (←なぜか変換できない)
D3DXMatrixRotationY(&d3dMat, D3DXToRadian(1.0f)); // Y 軸回りにカメラの位置が回転する
}
eyePos.x = d3dVec.x * d3dMat.m[0][0] + d3dVec.y * d3dMat.m[1][0] + d3dVec.z * d3dMat.m[2][0];
eyePos.y = d3dVec.x * d3dMat.m[0][1] + d3dVec.y * d3dMat.m[1][1] + d3dVec.z * d3dMat.m[2][1];
eyePos.z = d3dVec.x * d3dMat.m[0][2] + d3dVec.y * d3dMat.m[1][2] + d3dVec.z * d3dMat.m[2][2];
D3DXMatrixLookAtLH(&d3dMat, &eyePos, &targetPos, &D3DXVECTOR3(0, 1, 0));
m_pD3DDevice->SetTransform(D3DTS_VIEW, &d3dMat);