我正在尝试将3d模型集成到我的android应用程序中,为此,我需要3d模型查看器,该查看器可以加载材质和纹理文件,.dae,.fbx,.obj。
我需要没有ARCore的3d模型查看器。所以我不能同时使用ARCore和sceneform。
我已经使用OpenGL es- 2.0 Android API,以便可以加载.obj文件及其.mtl文件,以便可以看到预期的结果。检查了两个主要的github项目andresoviedo/android-3D-model-viewer和dbrant/ModelViewer3D。
我还检查了场景是否可以在没有ARCore的情况下独立运行。浏览了sceneform overview的google文档。
Sceneform仍在开发中,以在没有ARCore的情况下为3d建模提供全面支持。选中了此tutorial。检查了Sceneform和ARCore的Google存储区中的问题,即当前Sceneform无法实现来自MTL文件的自定义材料。
因此,到目前为止,我已经放弃了使用Sceneform的想法。并专注于使用OpenGL库进行3D模型渲染。
添加了一些Sceneform屏幕截图。 下面的示例是obj和mtl文件。
在此库中:andresoviedo/android-3D-model-viewer 我试图在同一文件夹中用.mtl文件加载.obj模型,但是此项目忽略了.mtl文件的某些属性,例如Tf,Ka和Ks。因此,此项目仅使用作为我的模型的弥散精简的Kd并显示它,而未按预期进行渲染。
在此库中:dbrant/ModelViewer3D他们提供了镜面,环境和漫射光,而没有使用对象的.mtl文件。 因此,我使用该库创建了一个演示,可以在其中设置我的自定义属性(镜面反射,漫射和环境光)。但是同样,我需要从我的.mtl文件中解析它们。
我仍然无法使用OpenGL解析带有.fbx,.dae,.obj的基本格式及其材质和纹理文件的Android合适的3d模型查看器。
谁能建议在没有ARCore的Android应用程序中显示3D模型的最佳选择是什么?
我试图更改上述库的顶点着色器和片段着色器,以便可以为其提供自定义值,但到目前为止没有成功。
任何人的帮助将不胜感激。 预先感谢。