【问题标题】:Convert left-handed Y-up (e.g. Unity) coordinates&rotations to right-handed Z-up (3DS Max)将左手 Y-up(例如 Unity)坐标和旋转转换为右手 Z-up(3DS Max)
【发布时间】:2019-07-26 01:59:50
【问题描述】:

我们开发了一个应用程序,它使用从 max 统一导出为 fbx 的模型(似乎可以工作),更改它们,然后将更改传回 3DSMax 以进行干净的渲染。

我们以最大方式旋转模型枢轴,使其在导出后在 Unity 中正确显示。 到目前为止我们得到了什么:

Position:
    x(max) = x(unity)
    y(max) = z(unity)
    z(max) = y(unity)
Rotation:
    x(max) = x(unity)
    y(max) = -y(unity)
    z(max) = z(unity)

简单的旋转似乎有效,复杂的则不行。我怀疑我们在从左手到右手或不同的旋转乘法顺序时没有正确考虑镜像。映射是如何正确完成的?

有一个没有答案的相关问题: Unity rotation convertion

【问题讨论】:

标签: unity3d quaternions coordinate-systems coordinate-transformation 3dsmax


【解决方案1】:

问题是 Unity (XYZ) 和 Max (ZYX) 的旋转顺序不同。这解释了单次旋转有效但不复杂。如果您在上面的问题中进行转换,然后在 Unity 中以相同的顺序连续进行每次旋转,它就可以工作。

【讨论】:

    猜你喜欢
    • 2019-11-23
    • 2012-07-14
    • 2017-03-20
    • 2014-04-29
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    相关资源
    最近更新 更多