如何在Blender中交换Y和Z轴?(使Y轴朝上)

11

我在从Blender导出网格和场景时遇到了一个问题,就是如何将Y轴作为我的向上轴。Blender和我的导出目标都使用右手坐标系。在Blender中,Z轴是向上的,而在我的目标中,Y轴是向上的。但问题存在于两个地方。场景的变换不能仅仅通过在X轴上移动来解决这个问题,因为我还需要对网格中的顶点进行Y/Z轴的切换(导出为vertex.x,vertex.z,vertex.y)。我需要实际上交换Y和Z旋转,这样如果Y和Z旋转相同,就不会发生任何变化(例如恒等变换)。谢谢你的帮助,如果我没有讲清楚,请随时提问。

7个回答

6

Blender与其他软件有两个不同之处! 1. 它使用Z轴作为垂直方向(应该是Y);Y轴作为水平方向(应该是X);X轴作为内外方向(应该是Z)。

非常奇怪!自始至终,每一张高中图表都使用X作为水平方向,Y作为垂直方向。

  1. 它使用鼠标右键进行选择。

您可以在偏好设置中更改选择按钮,但无法更改疯狂的轴排列!


4

不,你应该这样做

y=z
z=-y

没有90度的旋转可以使您从左手变为右手。


1
如果你有一个四元数,如何改变轴?实际上,旋转90度是错误的! - ioan
3
没有必要侮辱他人。陈述事实就已足够。 - batpox

2

我在使用Cinema4D和Blender时遇到了类似的问题。在Cinema4D中,Y轴是上轴,旋转方向为heading、pitch和bank。

Blender的系统看起来像是一个右手坐标系,但在X轴上旋转了90度。

对于坐标,我做了相同的事情(导出为vertex.x、vertex.z、vertex.y)。对于旋转,我认为你应该在X轴上添加90度(math.pi * 0.5),其余部分应该没问题。

希望有所帮助。


1

你尝试过只使用全选(按下“a”键),然后按下r x 90来将所有内容绕X轴和中心点旋转90度吗?(如果需要控制中心点,可以在3D视图的菜单栏中选择)。

你可以这样做,导出,然后撤销。


0
只需下载 Wings3D。从 Blender 导出为 .3ds,然后在 Wings3D 中导入此文件。 现在,您可以直接将其从 Wings3D 导出为 .3ds。但是,不要直接单击 .3ds,而是单击 ".3ds" 菜单右侧的小图标。现在,您可以取消选中框中的 Swap y und z axis 并将 .3ds 导入另一个程序。

0

这是不可能的。坐标系统在blender源代码中被硬编码选择,没有明确的选项可以切换它。这也会影响到任何使用或假定坐标的硬编码功能的任何函数。

然而,在理论上,我们可以访问blender源代码并重新构建blender,使其使用另一个我们想要的坐标系。尽管我们需要仔细地交换与坐标系统相关的所有内容。

我也希望左手坐标系(如Unity3D)成为工业标准,blender至少应该有另一个版本,可以在左手坐标系下工作。人们应该已经从桌面坐标转向屏幕坐标了。


-1
在Blender中,你可以添加空的平面轴,在导出到Unity时会自动纠正方向;或者尝试导出为FBX文件,并在导出选项中更改方向。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接