在SceneKit: What's New presentation at WWCD2017(44:19)期间,我们现在可以使用AVCaptureDevice
作为SCNScene
的背景内容。
演示文稿中的片段:
let captureDevice: AVCaptureDevice = ...
scene.background.contents = captureDevice
但是以下代码
let captureDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)!
scene.background.contents = captureDevice
产生错误:
[SceneKit] Error: Cannot get pixel buffer (CVPixelBufferRef)
我还尝试创建并启动AVCaptureSession
,然后使用该设备,但它会得到相同的结果。
这里可能存在什么问题?
答案 0 :(得分:2)
修改强>
此错误似乎已在iOS 11.2中修复
原始回答
这似乎是SceneKit中的一个错误。
如果这对您有用,则解决方法是使用ARSCNView
。它允许您访问所有SceneKit API,并自动将视频源绘制为场景的背景。