从右手坐标系矩阵到左手坐标系矩阵的转换?

4
我正在使用Blender进行3D模型设计,该软件采用右手坐标系。因此,当我尝试将模型导入我的OpenGL引擎(Irrlicht,左手坐标系)时,网格和动画在x轴上看起来是相反的。(例如,在Blender中,我的人体模型在右手边执行动画,但在OpenGL中它在左手边执行。)
因此,我正在尝试将右手坐标系矩阵转换为左手坐标系。请问有什么指导方针可以遵循吗?
备注:我正在尝试对b3d等动画模型进行此操作。

将其乘以一个缩放矩阵,其中x=1.0,y=1.0,z=-1.0。假设其左手系和右手系的来源来自Z轴(最常见)。 - Andon M. Coleman
谢谢您的建议,我会尝试并在这里报告结果,在我的情况下,它在X轴上有所不同。您能否解释一下如何通过乘以比例矩阵来更改坐标系? - VivekParamasivam
4
当您在坐标系中反转1个轴时,它会改变手性。实际上,由于无法通过旋转或平移方式进入不同的手性(左右性),唯一的选择是翻转一个轴(比例矩阵可以做到这一点)。 - Andon M. Coleman
3个回答

1

3
在SO中,仅提供链接的回答并不好,并且会受到反感;它并没有真正回答问题。请花时间总结关键点,以便如果/当外部链接停止存在时,您的答案仍然对所有其他人有用。 - code_dredd
Vivek是正确的:answers.unity3d.com/storage/temp/12048-lefthandedtorighthanded.pdf看起来很有用。 - WillC
该文档名为“在坐标系之间转换”,作者是David Eberly,可在https://www.geometrictools.com/Documentation/ConvertingBetweenCoordinateSystems.pdf上获取。 - jparimaa

1

在Stack Overflow中,仅提供链接的答案并不好,而且会遭到反感;它并不真正回答问题。请花时间总结关键点,这样如果/当外部链接停止存在时,您的答案仍将对其他人有用。 - code_dredd

0

假设您正在导出一个obj文件,在文件浏览器内部时,左下角有相关选项,您可以根据需要使用它们,它会在将obj文件写入磁盘之前自动适应方向。


谢谢您的建议,但我正在尝试用于动画模型(如b3d等)。您指定的文件浏览器是在Blender中吗? - VivekParamasivam
1
@user2331860 这是文件浏览器窗口 http://wiki.blender.org/uploads/c/c6/File-savewindow.png ,关于您的文件格式,我从未使用过,但通常这些选项由导出插件类似地公开,您还应参考您正在使用的插件的文档。 - user2485710

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