XNAアプリケーション内のKinectセンサーを介してキャプチャされたスケルトンのfbxモデルを作成したいと思います。現在私が行っているのは、Kinect座標をマトリックスとしてデータベースに保存し、それらを取得してフレームごとにスケルトンを描画することです。
XNA Framework内でアプリケーションを実行するときに、MotionBuilderを使用してfbxモデルを作成することは可能ですか。
ランタイムでfbxモデルを作成できるとは思いません。むしろ、Mayaなどのモデル作成ソフトウェアを使用して(ジョイントを使用して)モデルを構築してから、xnaプロジェクトにfbxをインポートし、更新機能ですべてのジョイントにcoを提供する必要があります。 -kinectから取得している縦座標値。
キャプチャしているときにデータを再生したいだけの場合は、FBXを経由する必要はありません。
FBXファイルとして永続化する場合は、オートデスクからFBX SDKを入手できますが、アンマネージC++形式でのみ利用できます。SDKを使用してランタイムデータを従来のボーンに変換し、ディスクに保存しますが、管理されていないすべてのコードを自分で処理する必要があるため、C++APIを介してこれを行うのは面倒です。
SDKのPythonバインディングを取得し、IronPython(ドットネット言語であるため、Xnaプロジェクトに埋め込むことができます)で実行することで、これを回避することができます。ただし、ファイル形式のインポート/エクスポータに相当するものについては、多くの作業が必要です。さらに、PythonバインディングがIronPythonで機能するかどうかはわかりません。
ただし、骨格データのみを保存する場合は、OBJのような単純なファイル形式の方が簡単な選択になる場合があります。そこにはいくつかのOBJインポーターがあります(たとえば、ここ)。フォーマットはとてもシンプルなので、自分でもできるはずです。ディスクにOBJがあれば、 AutodeskFBXコンバータを使用してFBXに出入りできます。ただし、これはスケルトン(および必要に応じてメッシュ)でのみ機能することに注意してください。OBJはアニメーションをサポートしていません。
XNA Framework内でアプリケーションを実行するときに、MotionBuilderを使用してfbxモデルを作成することは可能ですか。
質問が出るかどうかは100%わかりません。XNAで使用するためにmotionbuilderからFBXを作成できます。FBXを他のソース(FBX Sdkとkinectコードで作成したものを含む)からmotionbuilderにインポートできます。「xna内でアプリケーションを実行する場合」とは、Motionbuilderをリモートで制御することを意味しますか、それともMBが読み取ることができるデータを保存できることについて話しているだけですか。