如何用ARCore Android SDK在SceneViewer上加载glTF文件?

问题描述 投票:0回答:1

我在谷歌按照文档(https:/developers.google.comardevelopjavascen-viewer#ar-only。).

我把glTF文件放在了 assets/models 目录(与 Andy.obj)

我试图加载glTF 2.0文件(从 KhronosGroup样品)但失败了。

    Intent sceneViewerIntent = new Intent(Intent.ACTION_VIEW);
    Uri intentUri =
            Uri.parse("https://arvr.google.com/scene-viewer/1.0").buildUpon()
                    .appendQueryParameter("file", "models/BoxTextured.glb")
                    .appendQueryParameter("mode", "ar_preferred")
                    .appendQueryParameter("title", "Untitled")
                    .build();
    sceneViewerIntent.setData(intentUri);
    sceneViewerIntent.setPackage("com.google.ar.core");
    startActivity(sceneViewerIntent);

在文档中(上面链接的),没有提示如何写代码从本地加载glTF。

我可以做什么来解决这个问题在Android?

谢谢。

编辑:该源码是基于 https:/github.comgoogle-arcore-android-sdktreemastersampleshello_ar_java。而我的工作是 HelloArActivity.java, ARCore Android SDK版本是1.17.0。

android arcore gltf sceneview
1个回答
0
投票

我自己解决了这个问题。

将glTF的路径设置为绝对路径(比如 "sdcardBoxTextured.glb",而不是 "modelsBoxTextured.glb")。

我认为它不能从该函数中找到(也没有转换)相对路径。

你必须通过 //assets/~ 或其他什么,如果你想使用相对路径。

EDIT:

另外,还有 Environment 有方法的类 getExternalStorageDirectory().getAbsolutePath().我可能会解决上述问题。

© www.soinside.com 2019 - 2024. All rights reserved.