5

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

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

4

2 回答 2

2

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

于 2013-06-07T04:18:13.280 回答
1

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

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

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

但是,如果您只存储骨架数据,则更简单的文件格式(如 OBJ)可能是更简单的选择。那里有一些 OBJ 导入器(例如,这里)。格式很简单,您也应该能够自己做。磁盘上有 OBJ 后,您可以使用Autodesk FBX 转换器往返 FBX。但是请注意,这仅适用于骨架(和网格,如果您需要它们) - OBJ 不支持动画。

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

我不是 100% 确定我得到了这个问题。您可以从 motionbuilder 创建 FBX 以在 XNA 中使用。您可以从其他来源(包括您使用 FBX Sdk 和您的 kinect 代码制作的来源)将 FBX 导入到motionbuilder中。当您说“在 xna 中运行应用程序时”时,您是指远程控制 Motionbuilder,还是只是在谈论能够保存 MB 可以读取的数据?

于 2013-06-07T21:00:05.727 回答