Отслеживание ARCore мигает между TRACKING и PAUSED, плоскости = 0 и точки = 0, hitTest всегда пуст.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Отслеживание ARCore мигает между TRACKING и PAUSED, плоскости = 0 и точки = 0, hitTest всегда пуст.

Сообщение Anonymous »

Я разрабатываю приложение ARCore для Android (родное ARCore, а не Sceneform). Приложение работало правильно примерно в ноябре 2025 года, но с декабря обнаружение самолетов больше не работает.
Симптомы
В наложении отладки: Даже после 30+ секунд сканирования хорошо освещенного текстурированного пола плоскости не обнаружены.
Устройство и среда
  • Устройство: Samsung Galaxy (Android 14)
  • Версия ARCore: 1.52.0
  • Версия CameraX: 1.5.3
Конфигурация ARCore
kotlin

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

val cfg = Config(session).apply {
planeFindingMode = Config.PlaneFindingMode.HORIZONTAL
focusMode = Config.FocusMode.AUTO
lightEstimationMode = Config.LightEstimationMode.AMBIENT_INTENSITY
depthMode = Config.DepthMode.DISABLED
updateMode = Config.UpdateMode.BLOCKING
instantPlacementMode = Config.InstantPlacementMode.DISABLED
}
session.configure(cfg)
Логика рендеринга
Внутри onDrawFrame() с использованием GLSurfaceView:
Kotlin

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

val frame = session.update()
val camera = frame.camera
if (camera.trackingState == TrackingState.TRACKING) {
val hits = frame.hitTest(centerX, centerY)
// ...
}
Важные наблюдения
  • Предварительный просмотр камеры обрабатывается только ARCore (отдельный CameraX PreviewView отсутствует).
  • Код: Выделить всё

    session.resume()
    вызывается правильно.
  • Официальные приложения AR на том же устройстве работают нормально.
  • Раньше мое приложение работало нормально на том же устройстве.
Вопрос: Что может привести к тому, что отслеживание ARCore будет мерцать между TRACKING и PAUSED, не обнаруживая ни одного плоскости/точки? Существует ли известный конфликт с CameraX или конкретная проблема с конфигурацией в ARCore 1.52.0?
"Обновление: я тестировал официальный образец Kotlin 'Hello AR' на том же устройстве, и он также не может обнаружить самолеты. Он показывает только мерцающие точки. Похоже, это регрессия ARCore для конкретного устройства на Android 14."
"КРИТИЧЕСКОЕ ОБНОВЛЕНИЕ: даже официальный Google Образец Kotlin «Hello AR» не работает на моем Galaxy (Android 14, ARCore 1.52). Функциональные точки видны, но обнаружение плоскости никогда не срабатывает даже при включенном API глубины. Это известная регрессия в сборке 1.52 для устройств Samsung?»

Подробнее здесь: https://stackoverflow.com/questions/798 ... ints-0-hit
Ответить

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

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

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

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

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