Привет, %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 кватернион). Так вот, как сменить у кватерниона базис в этом случае?