通过XNA在Motion Builder中创建FBX模型

时间:2012-09-12 12:35:51

标签: 3d xna kinect fbx

我想创建一个通过XNA应用程序内的Kinect传感器捕获的骨架的fbx模型。目前我所做的是将Kinect坐标存储为数据库中的Matrix,检索它们逐帧绘制骨架。

在XNA Framework中运行应用程序时,是否可以使用Motion Builder创建fbx模型。

2 个答案:

答案 0 :(得分:2)

我不认为你可以在运行时制作fbx模型,你应该使用像Maya或任何其他模型制作软件来构建模型(带关节),然后在xna项目中导入fbx并在更新函数中提供每个你从kinect得到的坐标值的关节。

答案 1 :(得分:1)

如果您只想在捕获数据时回放数据,则无需通过FBX。

如果你想将它作为FBX文件保存,你可以获得FBX SDK from Autodesk,但它只能以非托管C ++形式提供。您可以使用SDK将运行时数据转换为常规骨骼并将其存储到磁盘 - 但通过C ++ api执行此操作将非常困难,因为您需要自己处理所有非托管代码。

可以尝试通过获取SDK的python绑定并在IronPython中运行它们来解决这个问题(作为一种dotnet语言,可以嵌入到你的Xna项目中)。然而,对于文件格式导入/导出器来说,这需要做很多工作。另外我不确定他们的python绑定是否适用于IronPython。

但是,如果您只存储骨架数据,那么像OBJ这样的简单文件格式可能是更容易的选择。有一些OBJ导入器(例如,here)。 The format is simple enough你也应该为自己做这件事。一旦在磁盘上安装了OBJ,就可以使用Autodesk FBX converter进出FBX。但是,请注意,这只适用于骷髅(和网格,如果你需要它们) - OBJ不支持动画。

  

是否可以在运行时使用Motion Builder创建fbx模型   XNA Framework中的应用程序。

我不是百分百肯定我得到了这个问题。您可以从Motionbuilder创建FBX以在XNA中使用。您可以从其他来源(包括您使用FBX Sdk和您的kinect代码创建的FBX)导入FBX到运动构建器中。当你说'在xna中运行应用程序'时,你的意思是远程控制Motionbuilder,还是只是在谈论能够保存MB可以读取的数据?