FBX SDK 上轴转换

3
我的问题是在使用openGL 3.3、FreeImage和FBX SDK 2014.2的应用程序中加载.fbx模型。我正在使用Z朝上的3ds max 2014。然而,OpenGL是以Y朝上定向的。因此,当我尝试加载一个模型时,它会被旋转!
我尝试了几种方法。3ds max fbx插件有fbx导出器。我在轴变换->向上轴下选择了Y和Z,但没有效果。该模型仍然旋转。
然后我尝试了ConvertScene()函数,但仍然没有效果。然后我发现ConvertScene()不会转换节点的坐标系。
有没有有效的方法可以在openGL中正确加载.fbx模型? 如何在加载模型到openGL时更改模型的Up_Axis?
1个回答

2

轴转换由FbxAxisSystem处理,方法如下:

FbxAxisSystem directXAxisSys(FbxAxisSystem::EUpVector::eYAxis,
    FbxAxisSystem::EFrontVector::eParityEven,
    FbxAxisSystem::eRightHanded);
directXAxisSys.ConvertScene(scene);

默认情况下,它会覆盖您提供的场景,但是如果您不想要这个功能,可以使用重载的ConvertScene()函数。

如果您想将另一个系统转换为FBX系统,请检查FbxAxisSystem中的默认值,它们被声明为静态常量。


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