通过 XNA 在 Motion Builder 中创建 FBX 模型
Posted
技术标签:
【中文标题】通过 XNA 在 Motion Builder 中创建 FBX 模型【英文标题】:Creating FBX Model in Motion Builder through XNA 【发布时间】:2012-09-05 11:31:57 【问题描述】:我想在 XNA 应用程序中创建通过 Kinect 传感器捕获的骨骼的 fbx 模型。目前我所做的是将 Kinect 坐标作为矩阵存储在数据库中,检索它们并逐帧绘制骨架。
在 XNA Framework 中运行应用程序时,是否可以使用 Motion Builder 创建 fbx 模型。
【问题讨论】:
【参考方案1】:我不认为您可以在运行时制作 fbx 模型,您应该使用 Maya 或其他任何模型制作软件构建您的模型(带关节),然后将 fbx 导入您的 xna 项目并在更新功能中提供每个具有您从 kinect 获得的坐标值的关节。
【讨论】:
【参考方案2】:如果您只想在捕获数据时回放数据,则无需通过 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 中的应用程序。
我不是 100% 确定我明白了这个问题。您可以从 motionbuilder 创建 FBX 以在 XNA 中使用。您可以从其他来源(包括您使用 FBX Sdk 和您的 kinect 代码制作的来源)将 FBX 导入到motionbuilder中。当您说“在 xna 中运行应用程序时”时,您是指远程控制 Motionbuilder,还是只是在谈论能够保存 MB 可以读取的数据?
【讨论】:
以上是关于通过 XNA 在 Motion Builder 中创建 FBX 模型的主要内容,如果未能解决你的问题,请参考以下文章