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.