BarcodeScanner не может прочитать код UPC после использования ARCamera

Я использую демонстрационный проект Apple для размещения 3D-объектов. И BarcodeScanner, чтобы прочитать код UPC, а затем использовать его для загрузки модели из Firebase. Моя проблема в том, что после возвращения с экрана ARKit с popViewController (Я также пытался использовать pushViewController или даже что-то в этом роде:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "UPCScanner")
var viewcontrollers = self.navigationController?.viewControllers
viewcontrollers?.removeAll()
viewcontrollers?.append(vc)
self.navigationController?.setViewControllers(viewcontrollers!, animated: true)

Камера BarcodeScanner просто размывает все, что слишком близко к ней. Вот несколько скриншотов: Обычная камера BarcodeScanner, камера ARKit, камера BarcodeScanner после использования ARKit. А также ссылка на проект Github, я изменил код, так что теперь он дает модель после прочтения любого UPC. Также хотел бы добавить, что я думал, что проблема может быть где-то в функции настройки в SceneExtensions.swift, но комментировать это не сработало.

UPD: я сделал так, чтобы камера не размывала все, что находится слишком близко к ней, добавив функцию, чтобы сфокусировать ее на ощупь, и она начала работать, когда включается вспышка. Но все еще не работал, когда это не так.

UPD2: он работает не только с вспышкой, но и с лучшим освещением, поэтому проблема все еще в фокусировке. Я думаю, что-то меняется во время сеанса AR, но все еще не понял, что.

UPD3: Оказалось, что функция фокусирующей камеры помогает при хорошем освещении, так что это лучшее решение, которое я нашел.

1 ответ

Решение

Исправлена ​​проблема с добавлением этой функции в BarcodeScanner. Но все еще не знаю, почему камера выходит из фокуса каждый раз, когда я возвращаюсь к нему после экрана ARCamera.

Другие вопросы по тегам