Загрузка 3D-модели из внутреннего хранилища с помощью библиотеки SceneformAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Загрузка 3D-модели из внутреннего хранилища с помощью библиотеки Sceneform

Сообщение Anonymous »

Я использую библиотеку SceneView для представления своих 3D-моделей. Обычно я загружаю 3D-модели из папки ресурсов, и мое приложение работает нормально.

Код: Выделить всё

   Scene(
modifier = Modifier.fillMaxSize(),
engine = engine,
modelLoader = modelLoader,
cameraNode = cameraNode,
childNodes = listOf(centerNode,
rememberNode {
ModelNode(
modelInstance = modelLoader.createModelInstance(
assetFileLocation = "models/$aircraftModelName" ), //works correctly!
scaleToUnits = 1.5f
)
}),
environment = environmentLoader.createHDREnvironment(
assetFileLocation = "environments/sky_2k.hdr"
)!!,
onFrame = {
centerNode.rotation = cameraRotation
cameraNode.lookAt(centerNode)
}
)
Но на этот раз я хочу, чтобы мое приложение загружало 3D-модель из внутреннего хранилища после ее загрузки. Но проблема в том, что когда я даю библиотеке адрес файла в папке внутреннего хранилища, она вместо открытия файла показывает мне папку, в которой находится файл модели.

Код: Выделить всё

         val fileName = "a4.glb"
val file = File(context.filesDir, fileName)
val modelAddress :String = file.absolutePath

Scene(
modifier = Modifier.fillMaxSize(),
engine = engine,
modelLoader = modelLoader,
cameraNode = cameraNode,
childNodes = listOf(centerNode,
rememberNode {
ModelNode(
modelInstance = modelLoader.createModelInstance(
assetFileLocation = modelAddress ), // here is model address
scaleToUnits = 1.5f
)
}),
environment = environmentLoader.createHDREnvironment(
assetFileLocation = "environments/sky_2k.hdr"
)!!,
onFrame = {
centerNode.rotation = cameraRotation
cameraNode.lookAt(centerNode)
}
)

введите здесь описание изображения
Я пробовал разные методы адресации, но все они дают один и тот же результат, и вместо отображения 3D-модели они просто открывают папка модели.

Подробнее здесь: https://stackoverflow.com/questions/792 ... rm-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»