我有一些 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)