У меня есть документ PLMXML (Siemens NX / JT2Go), который содержит различные матрицы преобразования 4x4 для различных моделей, система координат которых:
Right Handed
negative X forward
positive Z up
positive y right
Я хочу импортировать модели в Unity путем преобразования их соответствующих матриц преобразования.
Я читал во многих местах, что ось можно поменять местами, и это должно работать. Мои знания о матрицах, по меньшей мере, устарели, но я знаю, что следующая матрица должна дать мне необходимое изменение базы:
| 0 1 0 0 |
| 0 0 1 0 | = rhsToLhs
|-1 0 0 0 |
| 0 0 0 1 |
со следующим умножением:
unityTransform = rhsToLhs * PLMTransform * rhsToLhs;
но это не работает.
У меня вопрос: какие шаги я должен предпринять, чтобы выполнить это правильно?
Я не знаю порядок, в котором составляется матрица вращения для PLMXML, поэтому я не думаю, что могу просто извлечь ее из матрицы преобразования и манипулировать ею с версией 3x3 вышеупомянутой матрицы.
Как я уже сказал, я довольно ржавый с матрицами, и если кто-то сможет подтолкнуть меня в правильном направлении, я буду очень признателен.
Спасибо за чтение.