ホーム < ゲームつくろー! < FBX修得編


その9 ボーンの情報を取得する:サンプルプログラム


 FBX修得編その9「ボーンの情報を取得する」で説明した内容を踏まえたサンプルプログラムです。実行すると指定のFBXファイルのノードをたどり、その構造をツリービューで表示します。このサンプルではFBXに含まれているボーン情報の取得が追加されています。また、モデルがアニメーションしている場合に各フレームごとのボーンの絶対姿勢行列がファイル出力されています。


サンプルスクリーンショット。ボーンの名前を出しただけです(^-^; おう

 このサンプルは、新規のWin32アプリケーションでプロジェクトを立ち上げ、FBX SDKを設定し(設定方法はこちらを参照)、アーカイブ内の.h及び.cppをプロジェクトに追加することで動きます。サンプル内のFBXFile変数にFBXファイルへのパスを指定します。ソース及びオブジェクトはこちらからダウンロードできます(FBXSmp_No9.lzh)

 サンプル内のFBXNodeAnalizerBaseクラスはFBXファイルから得られたシーン(KFbxScene)のノードを解析し、ノードタイプに対応するメソッドを呼び出してくれます。例えばノードタイプがメッシュ(KFbxNodeAttribute::eMESH)の時はmeshNodeメソッドを、スケルトン(KFbxNodeAttribute::eSKELETON)ならばskeletonNodeメソッドが呼ばれます。

 ツリービューの表示はFBXNodeAnalizerBaseクラスから派生したOutputFBXNodeInfoForWinクラスで行っています。親クラスがノードを回ってくれるので出力は簡単です。今回はこのクラス内のmeshNodeメソッド内でボーンの各種情報を出力しています。ファイル出力は極めて適当な段階ですので参考程度に見て下さい。