QtでのFBX読み込み
最近QtではもっぱらQt3Dを使ってますが、FBXファイルを直で読み込みたくなり設定してみました。
以降覚書です。
FBX SDKのインストール
AutoDeskのダウンロードページよりSDKをダウンロードします。
FBX Software Developer Kit 2018.0 | Autodesk Developer Network
最新のSDKはVisualStudio2015用で2017用はないです。 ただVC++2015と2017は互換性があるということなので2015用を使ってみます。
VC++2015と2017についてはこちらに記述があります。
Visual Studio 2015 と Visual Studio 2017 の間の C++ バイナリ互換性 | Microsoft Docs
まずはVisualStudioで使ってみる
こちらのサイトを参考にVisualStudio2017のC++プロジェクトで使ってみました。
FBX SDK準備編 – ファイルからデータを取得しよう – Code Labo
ところがビルドするとエラーが発生!!
こちらの記事にドンピシャのことが書いてありました。
FbxSdkがVisualStudio2017でビルド出来なかったお話 - Qiita
FBXSDKがVisualStudioの非標準のC++構文を使っているためだそうです。ふーん。
Qt Creatorへの設定
FBX SDKのインストールされたディレクトリをみると、サイズ的に動的リンク版(libfbxsdk.lib)と静的リンク版(libfbxsdk-md.lib, libfbxsdk-mt.lib)があるようです。
今回は静的リンク(libfbxsdk-md.lib)で試してみます。
環境はWindows10でコンパイラはVisualStudio2017の64bitを指定。
これで「次へ」を押して進むと、~.proファイルにFBX SDKへのリンク情報が書き込まれます。
あとはmain.cppに以下のコードを書いてビルドし実行してエラーが発生しなければOK。
FbxManager* manager = FbxManager::Create();
manager->Destroy();
実行すると正常に動作しました。Qt CreatorではVisualStudio2017の時に見られたエラーも発生しませんでした。
まとめ
Qt CreatorにFBX SDKを設定することができました。 これを使ってFBXファイルを使って遊んでみます。
おまけ
Qt Creatorでは、Qt3Dの内部でFBX SDKは使われているようです。 (ソース確認済み)
なので今回の記事の内容を実施しなくても、デフォルトの機能でFBXの読み込みはできます。
今回はあえて自分で直接FBX SDKを使ってみたかったので、この記事の内容を試してみました。