首页 > 解决方案 > 将 4x4 RH 变换矩阵转换为 LH(Unity)变换矩阵

问题描述

我有一个 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 版本对其进行操作。

正如我所说,我对矩阵很生疏,如果有人能把我推向正确的方向,我会非常感激。

谢谢阅读。

标签: unity3d3dcoordinate-systemscoordinate-transformation

解决方案


推荐阅读