Microsoft Visual C++ 2010 Express FBX SDK 2011.3 |
■FBX SDKの準備 | Top Next |
関連ページ:なし |
しかし Direct3D 11 では ID3DXMesh インターフェイスがありません。 なくなった理由は知りませんが、ないものねだりしてもしょうがないので別の方法を考えることにします。
まず考えられるのは、sdkmeshファイル。詳細はSDK メッシュ ファイル形式の概要にかいてありますが、 このフォーマットはSDK サンプルの特定の要求に合わせて設計されているとのことです。 サンプル コンテンツ エクスポーターによると、一応エクスポートも可能なようですが、 実際のアプリケーション開発では使用しないでくださいとのことですので、当サイトでは使用しないことにします。
次に FBXとCOLLADAファイルフォーマットです。 3ds Max などのほとんどの3DCGソフトウェアで対応しています。Lightwave3D でも v9 から標準でサポートされるようになったので(バージョン古いけど)、 今後この2つのフォーマットが標準フォーマットとして使用されていくのではないでしょうか? でこの2つのフォーマットはどちらもファイルの内容を解析するための SDK が用意されています。 それぞれのフォーマットの SDK の違いをチェックしてみます。2010/8/3現在の情報です。
フォーマット | SDKのバージョン | 配布方法 | ドキュメント | サンプル | 公式サイト | SDKのダウンロードサイト |
FBX | 2011.3 | クローズドソース。Visual C++ 2010 などでコンパイルしたライブラリで提供。 | 英語。リファレンスとサンプルソースの解説があるがいまいち使えない。 | チュートリアル形式で豊富。ドキュメントよりこっち参照したほうがいい。 | Autodesk | Autodesk FBX 2011.3 SDK |
COLLADA | 2.2 | オープンソース。プロジェクトファイルも提供されるが Visual C++ 2008 が最新。 | XML Schemaのドキュメントはあるが、COLLADA DOMのドキュメントはみつからない。 | チュートリアル形式で豊富。よんでないけど。 | Khronos | SourceForge |
最初 COLLADA DOM 使ってみました。Visual C++ 2010 でCOLLADA DOM のライブラリを使うサンプルプログラムを作成しましたが、コンパイルすると大量のリンクエラーが発生したため断念。 COLLADA DOMをコンパイルするときに使用したプロジェクトの設定と違っているのが原因だろうけど、サードパーティー製のライブラリも面倒見なきゃならないのでめんどくさくなっちゃった。 拡張性を考えると COLLADA 使用したほうがいいけどね。
まあこのような理由により 当サイトでは FBX SDK を使用することにします。
ちなみに COLLADA DOM の使用方法についてはCOLLADA DOMをDirect3Dで使うで紹介されています。 Direct3Dで描画するところまで紹介されているようなので、興味のある方は参照してみてください。
1.FBX SDK のダウンロード
まずはダウンロードサイトであるAutodeskのサイトにジャンプします。
ここでユーザー登録すると、ダウンロードする FBX SDK の種類を選んでダウンロードできるようになります。
FBX SDK は、ライブラリの種類とOSの種類の組み合わせによる選択となります。
ここでは Windows 用のスタティックライブラリをダウンロードします。
なおバージョンは FBX SDK 2011.3 です。
2.FBX SDK をインストール
普通にインストールしてくださいな。
3.プロジェクトの設定
Visual C++ 2010 でプロジェクトを作成して FBXライブラリ が使用できるようにプロジェクトの設定を行います。
インクルートディレクトリ | d:\Program Files\Autodesk\FBX\FbxSdk\2011.3\include |
ライブラリディレクトリ | D:\Program Files\Autodesk\FBX\FbxSdk\2011.3\lib |
ランタイムライブラリ | マルチスレッド デバッグ (/MTd)( デバックコンパイル時 ) or マルチスレッド (/MT)( リリースコンパイル時 ) |
インクルードファイル | fbxsdk.h |
追加の依存ファイル |
wininet.lib advapi32.lib fbxsdk_mt2010d.lib( デバックコンパイル時 ) or fbxsdk_mt2010.lib( リリースコンパイル時 ) |
今回はここまで。