在ARKit中设置ARCamera曝光时间

问题描述 投票:1回答:1

我正在努力开发一个使用ARKit的应用程序。为了使这个应用程序能够实现主要目的,即追踪一个人脸,良好的照明条件是必不可少的。在AVFoundation中,有一个设置自定义曝光时间的功能。但我没有找到在ARKit中设置它的方法。我只是找到了 "get "对象 "frame.camera.exposureDuration",那么我如何在ARKit中设置曝光时间呢? 我应该在哪里调用这个函数呢?

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

谁能帮帮我?

ios swift xcode augmented-reality arkit
1个回答
2
投票

唉,但是在ARKit 3.5和ARKit 3.0中,你不能改变相机的曝光参数。有两个实例属性 曝光时间曝光偏移 但它们只能被获取,不能被设置。

var exposureDuration: TimeInterval { get }

var exposureOffset: Float { get }

不过,如果你使用ARKit 3.5和带有LiDAR扫描仪的设备,你就不用再依赖环境中的照明条件了。这是因为苹果LiDAR扫描仪允许你跟踪表面,甚至是 昏天黑地.

然而,你可以实现 AVFoundationMetal 方法论来改变ARKit的相机曝光参数,但这对作为开发者的你来说确实是个挑战。

© www.soinside.com 2019 - 2024. All rights reserved.