1

我有一些 3D 对象存储在 3D 编辑器应用程序特定 (Blender/Solid/3DS) 文件格式中,导出为 OBJ+MTL 文件,在 PNG/JPG 文件中具有可选纹理。

我想将这些对象加载到手机上的 OpenGL ES 应用程序中(今天适用于 Android,不久的将来适用于 iOS)。而且我不想编写自己的 OBJ+MTL(或任何其他 3D 格式)解析器。所以我想使用一些支持加载 3D 模型的 3D 引擎(从 OBJ+MTL 或从我的 3D 编辑器中导出到 3D 引擎特定的头文件/资源​​文件)来实现这一点。

我对 Min3D 框架有一些经验,但是在加载文件时有点错误(也不会加载材质颜色,只有纹理图像),不支持 OpenGL ES 2.0,并且显然不能在 iOS 上运行。

我已经看到了流行的 C 头文件的混合器导出脚本(http://iphonedevelopment.blogspot.com/2009/06/using-3d-models-from-blender-in-opengl.html),但我相信它没有t 支持材质颜色导出(不使用纹理图像时)。

最近我开始研究 Unity 3D,但它似乎比我需要的要多得多。我需要为我不会使用的功能(动画、游戏特定功能等)付费,并且我需要将它与我的移动应用程序的其他部分集成。

你会推荐什么 3D 引擎/框架?

总结一下需求:

  • 能够从 OBJ+MTL(+PNG/JPG) 加载 3D 模型 + 纹理或从 3D 编辑器应用程序导出(使用插件?),支持没有纹理的彩色材料
  • 支持 Android(非常欢迎额外的 iOS 支持)
  • 支持 OpenGL ES 2.0
  • 免费/便宜
  • 与本机代码轻松集成(Android 首选 Java)
4

1 回答 1

1

OpenSceneGraph 支持大量模型类型。我没有尝试用它构建任何移动应用程序,但是论坛/邮件列表上有很多关于这样做的讨论和一些教程,适用于 iOS 和 Android。开源。

http://www.openscenegraph.com

http://forum.openscenegraph.org/viewtopic.php?t=10076

编辑:作为旁注,如果您只想查看模型,并且不介意将它们存储在云中,则可以将它们上传到 SketchFab:

http://sketchfab.com/faq

并使用 Firefox 移动版查看。只要 iOS 浏览器支持完整的 webGL,就会支持 iOS。

他们在幕后使用 osg 来读取模型,我认为 OSGjs 用于前端。

于 2012-08-29T20:32:35.560 回答