2014-01-19 134 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中的默認值,它們被聲明爲靜態常量。