Я использую Ar Core Augmented Images
для отслеживания и загрузки/отображения, а затем для захвата изображения. Он работал с одним плюсовым телефоном, который у меня был. Но теперь у меня появился новый телефон Moto g6. С этим телефоном предварительный просмотр камеры не фокусируется. Изображение размыто.
Поэтому я использовал следующее, чтобы включить автофокус
//Create the config
arConfig = new Config(arSession);
//Check if the configuration is set to fixed
if (arConfig.getFocusMode() == Config.FocusMode.FIXED) {
arConfig.setFocusMode(Config.FocusMode.AUTO);
}
//Sceneform requires that the ARCore session is configured to the UpdateMode LATEST_CAMERA_IMAGE.
//This is probably not required for just auto focus. I was updating the camera configuration as well
arConfig.setUpdateMode(Config.UpdateMode.LATEST_CAMERA_IMAGE);
//Reconfigure the session
arSession.configure(arConfig);
//Setup the session with ARSceneView
arFragment.getArSceneView().setupSession(arSession);
Работает нормально, работает автофокус и я получаю желаемый результат. Проблема в том, что я не могу отсканировать изображение/маркер, когда включена автофокусировка. Поэтому я включаю автофокус после завершения сканирования, но как только я включаю слежение за автофокусом, теряется загруженная модель/изображение.
Есть ли способ использовать автофокус без потери загруженной модели/изображения
Следующий фрагмент кода работает (вы можете включить/отключить autofocus mode
через ARCore Session Config
):
Session session = new Session(context);
Config configuration = new Config(session);
if (enableAutoFocus) {
configuration.setFocusMode(Config.FocusMode.AUTO);
} else {
configuration.setFocusMode(Config.FocusMode.FIXED);
}
session.configure(configuration);
Но ! Здесь важная информация:
Google подтверждает, что
autofocus isn't working
в ARCore для этихLG phones
:
Надеюсь это поможет.