その3 ノードを巡って巡って・・・:サンプルプログラム
FBX修得編その3「ノードを巡って巡って・・・」で説明した内容を踏まえたサンプルプログラムです。実行すると指定のFBXファイルのノードをたどり、その構造をツリービューで表示します。
サンプルスクリーンショット。ツリービューは見栄えがいいです(^-^)
このサンプルは、新規のWin32アプリケーションでプロジェクトを立ち上げ、FBX SDKを設定し(設定方法はこちらを参照)、アーカイブ内の.h及び.cppをプロジェクトに追加することで動きます。サンプル内のFBXFile変数にFBXファイルへのパスを指定します。ソース及びオブジェクトはこちらからダウンロードできます(FBXSmp_No3.lzh)。
サンプル内のFBXNodeAnalizerBaseクラスはFBXファイルから得られたシーン(KFbxScene)のノードを解析し、ノードタイプに対応するメソッドを呼び出してくれます。例えばノードタイプがメッシュ(KFbxNodeAttribute::eMESH)の時はmeshNodeメソッドを、スケルトン(KFbxNodeAttribute::eSKELETON)ならばskeletonNodeメソッドが呼ばれます。
ツリービューの表示はFBXNodeAnalizerBaseクラスから派生したOutputFBXNodeInfoForWinクラスで行っています。親クラスがノードを回ってくれるので出力は簡単です。以後このクラスを発展させてFBXの中身をさらに詳細に出力していこうと思います。