在 iOS 原生应用中使用 FBX 文件和 3D 模型

Posted

技术标签:

【中文标题】在 iOS 原生应用中使用 FBX 文件和 3D 模型【英文标题】:Use FBX file with 3D model in iOS native app 【发布时间】:2016-10-05 03:34:30 【问题描述】:

我需要在原生 Objective-C/Swift 应用程序的一个屏幕中显示交互式 3D 模型(客户端提供少量 FBX 文件)。

我知道可以使用 Unity/Cocos3D,但是整个应用程序必须基于 Unity/Cocos3D。在我的情况下,应用程序必须是原生的,并且只有一个屏幕(标签栏控制器中的一个标签)应该集成用户可以移动/旋转等的 3D 模型。

谢谢。

【问题讨论】:

【参考方案1】:

FBX SDK 在 ios 上可用,我写了一个小教程来演示如何使用它here。但是,FBX SDK 确实包含用于在任何操作系统上显示 FBX 文件的视口/画布。要显示 FBX,您需要创建自己的视图。您可以在这里使用几种解决方案:

    无需编程,即可使用'FBX Review'。该工具是免费的,旨在显示 FBX、DAE、OBJ、...文件 你可以像我here 那样实现自己的视口/视图,例如obj 视图,但它可能需要重写。我为了一个 hack 写了一夜,所以需要优化。 您使用iOS SceneKit library,这将是比实现您自己的视图更好的方法。

【讨论】:

请你用swift 4及以上版本更新你的git demo!【参考方案2】:

如果您使用上面的选项 3,您可以使用 Unity 导出 Collada (.dae) 文件,以便通过 collada 导出器导入到 SceneKit。您可以直接在 Unity Asset Store 上购买 exporter; Unity 5.x 有一个,Unity 2017 有一个。

【讨论】:

以上是关于在 iOS 原生应用中使用 FBX 文件和 3D 模型的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android studio 中使用 .fbx 文件?

Unity3D使用 FBX 格式的外部模型 ③ ( FBX 模型中的材质重映射 | FBX 模型使用外部材质 | FBX 模型的分解重组 )

Unity3D使用 FBX 格式的外部模型 ( 向 Unity 中添加 FBX 模型 | 向 Scene 场景中添加 FBX 模型 | 3D 物体渲染 | 3D 物体材质设置 )

Autodesk forge 中 FBX 扩展中的 3D 模型纹理不可见

Unity3D使用 FBX 格式的外部模型 ② ( FBX 模型与默认 3D 模型的区别 | FBX 模型贴图查找路径 | FBX 模型可设置多个材质 )

从 *.FBX 文件读取和显示动画