Проблема обнаружения вертикальной плоскости в ARCore – SceneViewAndroid

Форум для тех, кто программирует под Android
Anonymous
Проблема обнаружения вертикальной плоскости в ARCore – SceneView

Сообщение Anonymous »

Сценарий:
Я разрабатываю приложение для обнаружения поверхности для измерения. Для этой цели я использую ARCore SDK, который отлично работает для ГОРИЗОНТАЛЬНОГО ВИДА, но проблема заключается в части вертикального анализа, поскольку он не показывал никаких точек для обнаружения поверхности.

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

 sceneView = findViewById(R.id.sceneView).apply {
planeRenderer.isEnabled = true
configureSession { session, config ->
config.depthMode = when (session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)) {
true -> {Config.DepthMode.AUTOMATIC
}
else -> Config.DepthMode.DISABLED

}

config.planeFindingMode = Config.PlaneFindingMode.VERTICAL
config.depthMode = Config.DepthMode.AUTOMATIC
config.instantPlacementMode = Config.InstantPlacementMode.LOCAL_Y_UP
config.lightEstimationMode = Config.LightEstimationMode.ENVIRONMENTAL_HDR
// config.updateMode=Config.UpdateMode.LATEST_CAMERA_IMAGE

}

onSessionUpdated = { _, frame ->
if (anchorNode == null) {
frame.getUpdatedPlanes()
.firstOrNull { it.type == Plane.Type.VERTICAL }
?.let { plane ->

//   addAnchorNode(plane.createAnchor(plane.centerPose))
}
}
}

onTrackingFailureChanged = { reason ->
this@MainActivity.trackingFailureReason = reason
Toast.makeText(this@MainActivity, "$reason", Toast.LENGTH_SHORT).show()
}
onSessionFailed={ fail->
Toast.makeText(this@MainActivity, "$fail", Toast.LENGTH_SHORT).show()

}
onSessionUpdated={
session, frame ->

// Toast.makeText(this@MainActivity, "$session", Toast.LENGTH_SHORT).show()

}
}
Приведенный выше код отлично работает в горизонтальной плоскости, но когда мы меняем configureSession на вертикальный, он не обнаружил ни одной вертикальной плоскости для какой-либо вертикальной текстуры.
Уже пробовал

config.planeFindingMode = Config.PlaneFindingMode.VERTICAL


Подробнее здесь: https://stackoverflow.com/questions/780 ... -sceneview

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