2012-08-29 52 views
2

我有一些3D对象存储在3D编辑器应用程序特定(Blender/Solid/3DS)文件格式中,导出到带有PNG/JPG文件中可选纹理的OBJ + MTL文件。加载OpenGL ES渲染的3D对象和纹理

我想在手机上的OpenGL ES应用程序中加载这些对象(今天适用于Android,近期适用于iOS)。我不想写我自己的OBJ + MTL(或任何其他3D格式)解析器。所以我想使用一些3D引擎来支持加载3D模型(从OBJ + MTL或从我的3D编辑器导出到3D引擎特定的头文件/资源​​文件)来实现这一点。我有一些Min3D框架的经验,但它加载文件时有点bug(也不会加载材质颜色,只有纹理图像),不支持OpenGL ES 2.0,并且显然不能运行iOS版。

我见过C头文件(http://iphonedevelopment.blogspot.com/2009/06/using-3d-models-from-blender-in-opengl.html)的流行搅拌机导出脚本,但我相信它不支持材质颜色导出(当纹理图像未使用时)。

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

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

总结要求:

  • 能够加载从OBJ + MTL(+ PNG/JPG)3D模型+纹理或(使用插件?)从3D编辑器应用程序中导出,与有色物质支持无纹理
  • 支持Android(iOS版额外支持是非常欢迎)
  • 支持OpenGL ES 2.0
  • 免费/便宜
  • 本地代码易于集成(Java是Android的首选)

回答

2

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是用于前端的。

+0

https://github.com/andresoviedo/android-3D-model-viewer – Qamar

+0

论坛链接已经死机 – Zoe

+0

这不适合我,但以防万一我只是要求webarchive克隆它:https:// web。 archive.org/web/20170731181502/http://forum.openscenegraph。org/viewtopic.php?t = 10076无论如何,这个答案是5岁,我很惊讶任何链接的工作! –