ForhaxeD
@ForhaxeD

Что делать с кватернионом при смене базиса?

Привет, %user%.
Есть проблема, настраиваю экспорт геометрии из Unity3D в самописный движок, построенный на базе XNA/DirectX.

И дело в том, что в Unity3D базис пространства (условно): vec3(1, 1, 1), а в XNADirectX — vec3(-1,1,1) (относительно Unity3D).
При переносе геометрии достаточно учесть (локально для каждой модели) —
newVec3 = vertexVec3 * vec3(-1, 1, 1);

С трансформацией частично понятное дело, позицию и размер умножаем на vec3(-1, 1 ,1). Но трансформация и у меня и у юнити хранится в виде SRT (2 вектора на размер и на позицию и 1 кватернион). Так вот, как сменить у кватерниона базис в этом случае?
  • Вопрос задан
  • 2461 просмотр
Решения вопроса 1
Mrrl
@Mrrl
Заводчик кардиганов
У кватерниона изменится ось вращения (она отразится симметрично) и направление поворота. Таким образом, кватернион (x,y,z,w) перейдёт в (-x,y,z,-w).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы