我有一个关于Firebase存储的模型,想在我的AR应用程序中实时渲染它。以下是我的存储参考:
ModelRenderable.builder().setSource(fragment.getContext(), RenderableSource.builder().setSource(fragment.getContext(), model, RenderableSource.SourceType.GLTF2).setScale(0.01f).build()).setRegistryId(model).build()
我尝试在以下代码中将storageRef.toString()作为模型(Uri)直接传递,以构建modelrenderable:
Callable modelDownloadTask = new Callable() {
@Override
public InputStream call() throws Exception {
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(storageRef.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return fileInputStream;
}
};
而且,它没有用。它提供了IllegalArgumentException:无法解析url,MalformedURLException:未知协议:内容。
然后我尝试使用Callable和InputStream传递Uri(在阅读this之后),请检查以下内容:
W/System.err: java.io.FileNotFoundException: gs:/show-b8129.appspot.com/Mesh_Beagle.gltf (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:231)
at java.io.FileInputStream.<init>(FileInputStream.java:165)
at java.io.FileInputStream.<init>(FileInputStream.java:112)
然后,以Uri形式传递(Uri)modelDownloadTask.call()。但是,现在它显示以下错误:
{{1}}
请帮助!!!如何获得模型的Uri以在我的AR应用程序中实时传递和渲染模型?