使用DirectX11进行相机三维旋转 我尝试用C++中的DICTX11创建FBX查看器的相机。我成功地做了平移,但没有旋转。在我的类相机中,我有两个地标:我的相机和我的目标(它们都有上方向向量、右方向向量、注视向量和位置)
要进行旋转,我将这样进行:使用DirectX11进行相机三维旋转 我尝试用C++中的DICTX11创建FBX查看器的相机。我成功地做了平移,但没有旋转。在我的类相机中,我有两个地标:我的相机和我的目标(它们都有上方向向量、右方向向量、注视向量和位置),c++,camera,rotation,directx,C++,Camera,Rotation,Directx,要进行旋转,我将这样进行: void Camera::upRotation(float angle) { using namespace DirectX; XMMATRIX yaw; yaw = XMMatrixRotationAxis(XMLoadFloat3(&this->targetUp), XMConvertToRadians(angle)); XMVector3TransformCoord(XMLoadFloat3(&
void
Camera::upRotation(float angle)
{
using namespace DirectX;
XMMATRIX yaw;
yaw = XMMatrixRotationAxis(XMLoadFloat3(&this->targetUp), XMConvertToRadians(angle));
XMVector3TransformCoord(XMLoadFloat3(&this->cameraLookAt), yaw);
XMVector3TransformCoord(XMLoadFloat3(&this->targetLookAt), yaw);
XMVector3TransformCoord(XMLoadFloat3(&this->cameraRight), yaw);
XMVector3TransformCoord(XMLoadFloat3(&this->targetRight), yaw);
}
要更新我的viewMatrix I,请执行以下操作:
但是当我测试时,旋转没有做任何事情(但是它进入了函数)。我做错了什么?我的逻辑正确吗?或者我应该用其他方法来制作我的相机?如果您喜欢,您已经有了一些预先制作的功能: 或 他们应该做你需要的事情(你有他们的源代码)