2015-10-05 5 views
1

Я хочу повернуть мой куб вокруг оси x и y, z в локальном пространстве. Но если я использую D3DXMatrixRotation(), и я вращаюсь вокруг y после оси x, он по-прежнему вращается в мировом пространстве. Как я могу повернуть объект в локальном пространстве?Как я могу вращаться вокруг локальной оси? [Directx]

ответ

1

Типичная установка для преобразования:

world * view * projection 

мир матрица преобразует из локального (т.е. модели) пространство мирового пространства, так что изменение мира матрица будет приводить в новом мировом пространстве место нахождения.

Возможно, вы хотите, чтобы вы вращались вокруг другой точки, чем происхождение в локальном пространстве?

PS: Обратите внимание, что D3DXMatrixRotation* предназначен для наследия D3DXMath. Вы должны посмотреть на использование DirectXMath или, возможно, SimpleMath обертки для него в DirectX Tool Kit.