我想使用 android studio 在 Android 应用程序中显示一些 3D 模型(.obj 文件)。
用户输入一些数据,模型必须根据用户输入相对于彼此放置。
所以我只需要根据之前输入的数据显示一些相对放置的3D模型,用户滑动屏幕就可以从任何方向看到模型。
我不知道如何实现这个。我尝试使用 OpenGL-ES,但没有成功,因为我找不到足够的教程,而且文档很难理解。
欢迎任何帮助或建议。
提前致谢。
在 GitHub 上找到这个 3D 查看器(支持 OBJ、GLTF)
另外,我相信可以找到一些转换器 OBJ ~> GLTF (由 Khronos 提供)。您可以编写带有嵌入式 Web 视图的 Android 应用程序,您可以在其中显示 GLTF。
如果有人使用一些 HTML / JS 框架(如 Phonegap 或 VueJS + Quasar)来开发 Android 应用程序,那么 GLTF 可能是一个不错的选择(如果 OBJ ~> GLTF 不是问题)。
我知道这已经有一岁了,但是当我试图分享我的(可查看的)对象时偶然发现了它,我已经能够将它“网格”在一起(有趣的文字游戏)到内置的服务/应用程序,以便其他可能没有安装我正在构建的应用程序的人可以查看模型...可能是 SceneForm?或者至少有 ARCore 的东西...
无论哪种方式都可以帮助解决你的问题,因为我觉得我有同样的问题,并且能够通过 webview 和 Three.js 库解决它。
尝试使用 openGL 需要/需要比我更多的努力/时间/理解。现有的库并不真正支持带有纹理的 .obj 和 .mtl,它们似乎都专注于更新/更好的替代方案。我正在使用的源数据只有 .obj/.mtl,我没有办法进行运行时转换。
https://thirdjs.org/manual/#en/load-obj
通过 Three.js 提供的这个解决方案对我帮助很大,需要进行一些小的调整才能实现我的最终目标。因此,如果您遇到进一步的麻烦并分享更多详细信息,我很乐意看看是否可以提供帮助。 (注意,如果尺寸/相机相差很大,仅交换 obj 源将无济于事,您还需要将相机“重新聚焦”到您的对象)。
V/R
编码员同事