如何绕局部轴旋转? [Directx]
How can I rotate around local axis? [Directx]
我想在本地 space 围绕 x 和 y、z 轴旋转我的立方体。但是如果我使用 D3DXMatrixRotation()
,并且我在 x 轴之后绕 y 旋转,它仍然在世界 space 中旋转。如何在本地旋转对象 space?
转换的典型设置是:
world * view * projection
world 矩阵从本地(即模型)space 转换为世界 space,因此更改世界矩阵将产生一个新的世界 space 位置。
您的意思是您想要围绕与本地原点不同的点旋转 space?
PS:请注意,D3DXMatrixRotation*
适用于旧版 D3DXMath。你应该看看使用 DirectXMath or perhaps the SimpleMath wrapper for it in the DirectX Tool Kit。
我想在本地 space 围绕 x 和 y、z 轴旋转我的立方体。但是如果我使用 D3DXMatrixRotation()
,并且我在 x 轴之后绕 y 旋转,它仍然在世界 space 中旋转。如何在本地旋转对象 space?
转换的典型设置是:
world * view * projection
world 矩阵从本地(即模型)space 转换为世界 space,因此更改世界矩阵将产生一个新的世界 space 位置。
您的意思是您想要围绕与本地原点不同的点旋转 space?
PS:请注意,D3DXMatrixRotation*
适用于旧版 D3DXMath。你应该看看使用 DirectXMath or perhaps the SimpleMath wrapper for it in the DirectX Tool Kit。