Я хотел бы сделать файл (andy.sfb) в ARcore. Можно получить этот файл из https://
и file://
. Традиционно file: // выделяется для файлов в папке assets, которая поставляется вместе с приложением. Однако цель состоит в том, чтобы загрузить 3D-модель и затем указать путь ( URI ) из локального хранилища устройства, это может быть что-то вроде /storage/emulated/0/Download/andy.sfb
.
SFB расшифровывается как SceneForm Binary.
Моя задача состояла в том, чтобы визуализировать время выполнения модели из локального хранилища устройства.
Вопрос представлен здесь в подробно
File file = new File("file:///storage/emulated/0/Download/andy.sfb");
Callable callable = () -> {
InputStream inputStream = new FileInputStream(file);
return inputStream;
};
FutureTask task = new FutureTask<>(callable);
new Thread(task).start();
ModelRenderable.builder()
.setSource(this, callable)
.build()
.thenAccept(renderable -> andyRenderable = renderable)
.exceptionally(
throwable -> {
Toast toast =
Toast.makeText(this, "Unable to load andy renderable", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
return null;
});