从AVFoundation
像AVCaptureDevice
我这样的对象中可以读取fieldOfView
using的值
captureDevice.activeFormat.videoFieldOfView
这给了我在 iPhone 6s 上大约 58 度的值。但我需要的是在运行fieldOfView
时获取当前帧中实际显示的当前值AVCaptureSession
。我的意思是,当镜头移动以使图像聚焦时,读取的值activeFormat
并不能反映真实情况。fieldOfView
例如,当我将相机对准远处的物体时,镜头会移动以保持对焦,并fieldOfView
稍微增加一点,达到约 61 度。您可以在相机中观察到这种行为ARKit
- 即使相机正在捕捉焦点,显示的对象也会随着相机预览变得越来越小。我想知道如何实现这种行为并调整fieldOfView
到当前的镜头位置。我需要将此应用于SceneKit
相机。
简而言之:如何在FieldOfView
考虑当前焦点位置(或镜头位置)的情况下找到相机的当前确切位置
为了帮助理解我的意思,请看这个 gif:
一开始你可以看到它聚焦,视频有点像放大/缩小一点以捕捉正确的镜头位置。因此,当这个镜头移动时,实际可见fieldOfView
会有所不同。