Установка времени выдержки ARCamera в ARKit - PullRequest
1 голос
/ 23 апреля 2020

Я усердно работаю над Приложением, использующим ARKit. Для того чтобы приложение выполнило свою основную задачу - отслеживать лицо, необходимо хорошее освещение. В AVFoundation есть функция для установки времени экспозиции. Но я не нашел способа установить его в ARKit. Я только что нашел объект "get" frame.camera.exposureDuration "Так как мне установить время экспозиции с помощью ARKit? и где я должен вызывать функцию?

func session(_ session: ARSession, didUpdate frame: ARFrame) {
    frame.camera.exposureDuration
}

Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 24 апреля 2020

Увы, но вы не можете изменить параметры экспозиции камеры в ARKit 3.5 и ARKit 3.0. Существует два свойства экземпляра jectionDuration и jectionOffset , но они доступны только для получения и не могут быть установлены.

var exposureDuration: TimeInterval { get }

var exposureOffset: Float { get }

Однако, если вы используете ARKit 3.5 и устройства С сканером LiDAR вы больше не зависите от условий освещения в вашей среде. Это потому, что сканер Apple LiDAR позволяет отслеживать поверхности даже в полной темноте .

Тем не менее, вы можете реализовать методологию AVFoundation и Metal для изменения параметров экспозиции камеры ARKit, но это настоящий вызов для вас как для разработчика.

...