В настоящее время я пишу плагин для импорта файлов fbx в Maya (я знаю, что плагин уже существует, но мне нужно использовать его в моем плагине).
Для данного соединения у меня есть предварительное вращение, вращение и последующее вращение.
Если я умножу все 3, результат будет не таким, как у Maya при использовании стандартного импорта fbx.
Пример:
// Pre-Rotation:-90 x 15.5044 x 90
// Rotation:-8.54572 x 1.07966 x -46.245
// Post-Rotation:90 x -15.5044 x -90
// Maya standard FBX result (correct) -> -2.106 x 8.814 x 88.132
// My result (error) -> 23.89 x 40.8658 x 17.0975
Я использую стандартное умножение MEulerRotation в API Maya, но, похоже, это не сработает. Какой расчет может привести меня к результату Майи?
Это мой кусок кода:
MEulerRotation prerot(-90 , 15.5044 , 90);
MEulerRotation rotation(-8.54572 , 1.07966 , -46.245);
MEulerRotation postrot(90 , -15.5044 , -90);
rotFinal=prerot*rotation*postrot;
MFnTransform t3(myJointObject);
MQuaternion q;
q=rotFinal;
t3.setRotation(q); // -> The result is different than the standard fbximport.
Задача ещё не решена.