我正在努力开发一个使用ARKit的应用程序。为了让应用程序实现其主要用途,即跟踪人脸,良好的光照条件至关重要。在AVFoundation中,有一个设置自定义曝光时间的函数。但是我没有找到在ARKit中设置它的方法。我刚刚找到了get对象frame.camera.exposureDuration。那么,如何使用ARKit设置曝光时间呢?我必须在哪里调用这个函数?
func session(_ session: ARSession, didUpdate frame: ARFrame) {
// frame.camera.exposureDuration = ...
}发布于 2020-04-24 14:06:41
可惜,你不能在ARKit 3.5和ARKit 3.0中改变相机的曝光参数。有两个实例属性exposureDuration和exposureOffset,但它们只是可获取的,不可设置的。
var exposureDuration: TimeInterval { get }
var exposureOffset: Float { get }但是,如果您使用ARKit 3.5和带有LiDAR扫描仪的设备,您将不再依赖于环境中的照明条件。这是因为苹果LiDAR扫描仪可以让你在完全黑暗的中追踪物体表面,甚至是。
尽管如此,你可以实现AVFoundation和Metal方法来改变ARKit相机的曝光参数,但这对你作为开发人员来说是一个真正的挑战。
https://stackoverflow.com/questions/61395562
复制相似问题