Я создаю приложение AR в Android Studio и не могу отобразить модель на экране. Я получаю сообщение об ошибке. Я не уверен, где проблема в. Я просмотрел несколько примеров в Интернете и не увидел никаких явных проблем в своем коде. Проходя через отладчик, эта часть, кажется, работает:
if (plane.type != Plane.Type.HORIZONTAL_UPWARD_FACING) {
return@setOnTapArPlaneListener
}
val anchor = hitResult.createAnchor()
placeObject(arFragment, anchor, selectedObject)
}
Другие функции ниже и всплывающее сообщение об ошибке, которое появляется, когда я нажимаю на самолет:
private fun placeObject(fragment: ArFragment, anchor: Anchor, model: Uri) {
ModelRenderable.builder()
.setSource(fragment.context, model)
.build()
.thenAccept {
addNodeToScene(fragment, anchor, it)
}
.exceptionally {
val toast = Toast.makeText(applicationContext, "Error", Toast.LENGTH_SHORT)
toast.show()
null
}
}
private fun addNodeToScene(fragment: ArFragment, anchor: Anchor, renderableObject: Renderable) {
val anchorNode = AnchorNode(anchor)
val transformableNode = TransformableNode(fragment.transformationSystem)
transformableNode.renderable = renderableObject
transformableNode.setParent(anchorNode)
fragment.arSceneView.scene.addChild(anchorNode)
transformableNode.select()
}
private fun setModelPath(modelFileName: String) {
selectedObject = Uri.parse(modelFileName)
val toast = Toast.makeText(applicationContext, modelFileName, Toast.LENGTH_SHORT)
toast.show()
}