如何使用 ARCore Android SDK 在 SceneViewer 上加载我的 glTF 文件
How can I load my glTF file on SceneViewer with ARCore Android SDK
我正在关注 Google (https://developers.google.com/ar/develop/java/scene-viewer#ar-only) 上的文档。
我将 glTF 文件放在 assets/models
目录中(与 Andy.obj
相同的位置)
我尝试加载 glTF 2.0 文件(来自 KhronosGroup Sample)但失败了:
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.com/google-ar/arcore-android-sdk/tree/master/samples/hello_ar_java,本人工作HelloArActivity.java
,ARCore Android SDK版本为1.17.0
我自己解决了
将 glTF 的路径设置为绝对路径(如“/sdcard/BoxTextured.glb”,而不是“models/BoxTextured.glb”)
我认为它无法找到(也无法转换)该函数的相对路径。
如果您想使用相对路径,您必须通过 //assets/~
或其他方式获取路径。
编辑:
还有 Environment
class 有方法 getExternalStorageDirectory().getAbsolutePath()
。我可能会解决上面的问题。
我正在关注 Google (https://developers.google.com/ar/develop/java/scene-viewer#ar-only) 上的文档。
我将 glTF 文件放在 assets/models
目录中(与 Andy.obj
相同的位置)
我尝试加载 glTF 2.0 文件(来自 KhronosGroup Sample)但失败了:
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.com/google-ar/arcore-android-sdk/tree/master/samples/hello_ar_java,本人工作HelloArActivity.java
,ARCore Android SDK版本为1.17.0
我自己解决了
将 glTF 的路径设置为绝对路径(如“/sdcard/BoxTextured.glb”,而不是“models/BoxTextured.glb”)
我认为它无法找到(也无法转换)该函数的相对路径。
如果您想使用相对路径,您必须通过 //assets/~
或其他方式获取路径。
编辑:
还有 Environment
class 有方法 getExternalStorageDirectory().getAbsolutePath()
。我可能会解决上面的问题。