2014-01-19 131 views
3

我的问题是有关我的应用程序加载.FBX模型,其使用OpenGL 3.3,FreeImage的和FBX SDK 2014.2FBX SDK向上轴转化

我使用3ds Max的2014这是Z-了导向。然而,openGL是Y向上的。所以,当我尝试加载模型时,它会旋转!

我尝试了几种方法。 3ds max fbx插件有fbx导出器。我在Axis Conversion-> Up Axis下选择Y和Z作为上轴,但没有效果。该模型仍然旋转。

然后我试着ConvertScene()函数,但是仍然没有效果。然后我发现CobvertScene()不会转换节点的轴系统。

是否有任何有效的方法在openGL中正确加载.fbx模型? 如何在openGL中加载模型时更改模型的up_Axis?

回答

2

轴转换是通过FbxAxisSystem处理,像这样:

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

默认情况下它会覆盖你给它的情景,但有一个重载的ConvertScene()函数,如果你不希望这样的功能。

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