将 FBX 导入 ARToolKit

Import FBX to ARToolKit

我在导入 FBX 模型时遇到问题。我已经用 Unity 完成了,所以我知道模型导出得很好,但我也应该使用本机代码。 我收到错误:

2015-06-02 15:20:21.721 ARAppNFTOSG[746:481003] Error: unsupported model file
type (fbx). Ignoring.

我正在名为 ARAppNFTOSG 的 AR 示例上进行尝试。我将 model.dat 更改为:

1

OSG/Geralt/watcher.FBX
0.0 0.0 0.0
0.0 1.0 0.0 0.0
10.0 10.0 10.0
MARKER 1

我查看了 OSG 论坛,发现我应该安装 FBX SDK,我安装了 2013.3 和 2014.1。 还要添加行:

 USE_OSGPLUGIN(fbx)

到osgplugins.h 我不确定我安装的 FBX SDK 是否以某种方式链接,因为我没有进行手动链接。我应该怎么办?顺便说一句,我正在使用mac。

USE_OSGPLUGIN(fbx)

仅在静态链接时才需要。您是否静态链接 OSG 及其插件?通常不会那样做。

您可以尝试大量设置 OSG_NOTIFY 环境变量并查看输出。它可能会告诉您加载 FBX 文件失败的原因。

这是一次性导入,还是您会使用大量 FBX 模型?

如果是一次性的事情,你可以使用Sketchup Pro的试用版和试用版的FBX导入器插件: http://www.simlab-soft.com/3d-plugins/FBX_Importer_For_Sketchup-main.aspx

并将其导出为您下载的 ARToolkit 可以理解的内容。 (可能是 COLLADA .dae 文件或 3DS 文件——看看它有哪些 osgdb 插件,它们应该被命名为 osgdb_dae.so 之类的名称)。

如果这是一个长期问题,那么您将不得不从源代码构建 Open Scene Graph 核心 类 和 FBX 插件。如果您在获取 FBX SDK 之前尝试过此操作,请删除您的 cmake 缓存文件并在打开 FBX 标志的情况下重新开始。

如果您认为构建正确,您可能还必须构建 "install" 目标以使插件在您的系统中注册。

OSG 的 FBX 插件未随 iOS 的 ARToolKit 一起提供,我不确定是否可以为 iOS.

构建它

最好的选择是使用 OSG 在 OS X 或 Windows 上安装的 osgconv 命令行工具(例如 http://www.artoolkit.org/dist/3rdparty/openscenegraph/3.2.x/OpenSceneGraph-3.2.2%20OS%20X%2010.7%2B%20Installer.zip 包括 FBX 插件并在路径 /Applications/OpenSceneGraph/Applications/osgconv) 提供 osgconv 以将 FBX 转换为受支持的 OSG 格式,例如.osgb 并在运行时加载它。