AYU MAX

プログラミングとか作ったもの

Qt CreatorでのFBX SDKの設定

QtでのFBX読み込み

最近QtではもっぱらQt3Dを使ってますが、FBXファイルを直で読み込みたくなり設定してみました。

以降覚書です。

FBX SDKのインストール

AutoDeskのダウンロードページよりSDKをダウンロードします。

www.autodesk.com

f:id:ayuma0913:20181017213923j:plain

最新のSDKはVisualStudio2015用で2017用はないです。 ただVC++2015と2017は互換性があるということなので2015用を使ってみます。

VC++2015と2017についてはこちらに記述があります。

Visual Studio 2015 と Visual Studio 2017 の間の C++ バイナリ互換性 | Microsoft Docs

まずはVisualStudioで使ってみる

こちらのサイトを参考にVisualStudio2017のC++プロジェクトで使ってみました。

codelabo.com

ところがビルドするとエラーが発生!!

こちらの記事にドンピシャのことが書いてありました。

qiita.com

FBXSDKがVisualStudioの非標準のC++構文を使っているためだそうです。ふーん。

Qt Creatorへの設定

FBX SDKのインストールされたディレクトリをみると、サイズ的に動的リンク版(libfbxsdk.lib)と静的リンク版(libfbxsdk-md.lib, libfbxsdk-mt.lib)があるようです。

今回は静的リンク(libfbxsdk-md.lib)で試してみます。

環境はWindows10でコンパイラはVisualStudio2017の64bitを指定。

  • Qt Creatorのプロジェクトで「ライブラリの追加」を選択し「外部ライブラリ」を選択。 f:id:ayuma0913:20181017214944j:plain

  • 「ライブラリファイル」にlibfbxsdk-md.libへのパスを入力

  • 「インクルードパス」にfbxsdkの「include」フォルダへのパスを入力。

  • プラットフォームはとりあえずWindows Only

  • リンク方法は「スタティック」を選択

f:id:ayuma0913:20181017215309j:plain

これで「次へ」を押して進むと、~.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を使ってみたかったので、この記事の内容を試してみました。