【发布时间】:2018-03-24 12:19:51
【问题描述】:
我们如何使用ARCamera 或ARSCNView 访问前置摄像头图像,是否可以像摄像头录制一样录制ARSCNView?
【问题讨论】:
标签: ios swift arkit arscnview arcamera
我们如何使用ARCamera 或ARSCNView 访问前置摄像头图像,是否可以像摄像头录制一样录制ARSCNView?
【问题讨论】:
标签: ios swift arkit arscnview arcamera
关于前置摄像头:简而言之,没有。
ARKit 提供两种基本的 AR 体验:
World Tracking (ARWorldTrackingConfiguration),使用后置摄像头,用户“透过”设备查看周围世界的增强视图。 (还有AROrientationTrackingConfiguration,它是世界追踪的低质量版本,所以它仍然只使用后置摄像头。)
面部跟踪 (ARFaceTrackingConfiguration),仅支持 iPhone X 上的前置原深感摄像头,用户可以在前置摄像头视图中看到自己的增强视图。 (正如@TawaNicolas 所说,Apple 有示例代码 here... 在 iPhone X 真正可用之前,您可以阅读但不能运行。)
除了硬件要求外,人脸跟踪和世界跟踪大多是正交特征集。因此,即使有一种使用前置摄像头的方法(仅在 iPhone X 上),它也无法为您提供与 ARKit 中的后置摄像头相同的体验。
关于 AR 体验中的视频录制:您可以在 ARKit 应用中使用ReplayKit,就像在任何其他应用中一样。
如果您只想记录摄像机源,则没有高级 API,但理论上您可能会成功地将您在每个 ARFrame 中获得的像素缓冲区提供给 AVAssetWriter。
【讨论】:
据我所知,带有前置摄像头的 ARKit 仅支持 iPhone X。
【讨论】:
如果您想访问 UIKit 或 AVFoundation 相机,您仍然可以,但与 ARSCNView 分开。例如,我正在从 IBAction 加载 UIKit's UIImagePickerController,这样做有点尴尬,但它适用于我的目的(加载/创建图像和视频资产)。
【讨论】: