我在谷歌按照文档(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。
我自己解决了这个问题。
将glTF的路径设置为绝对路径(比如 "sdcardBoxTextured.glb",而不是 "modelsBoxTextured.glb")。
我认为它不能从该函数中找到(也没有转换)相对路径。
你必须通过 //assets/~
或其他什么,如果你想使用相对路径。
EDIT:
另外,还有 Environment
有方法的类 getExternalStorageDirectory().getAbsolutePath()
.我可能会解决上述问题。