Я хочу повернуть мой куб вокруг оси x и y, z в локальном пространстве. Но если я использую D3DXMatrixRotation()
, и я вращаюсь вокруг y после оси x, он по-прежнему вращается в мировом пространстве. Как я могу повернуть объект в локальном пространстве?Как я могу вращаться вокруг локальной оси? [Directx]
1
A
ответ
1
Типичная установка для преобразования:
world * view * projection
мир матрица преобразует из локального (т.е. модели) пространство мирового пространства, так что изменение мира матрица будет приводить в новом мировом пространстве место нахождения.
Возможно, вы хотите, чтобы вы вращались вокруг другой точки, чем происхождение в локальном пространстве?
PS: Обратите внимание, что D3DXMatrixRotation*
предназначен для наследия D3DXMath. Вы должны посмотреть на использование DirectXMath или, возможно, SimpleMath обертки для него в DirectX Tool Kit.