ARKit + SceneKit:我可以访问帧的分段缓冲区但禁用自动人物遮挡吗?
Posted
技术标签:
【中文标题】ARKit + SceneKit:我可以访问帧的分段缓冲区但禁用自动人物遮挡吗?【英文标题】:ARKit + SceneKit: Can I access the frame's segmentationBuffer but disable automatic person occlusion? 【发布时间】:2021-11-04 01:35:43 【问题描述】:我正在使用 ARKit 和 SceneKit,并希望对帧中检测到的人应用自定义渲染。为此,我想使用ARFrame.segmentationBuffer
如果我将.personSegmentation
添加到我的 ARConfiguration 的帧语义中,我可以访问此缓冲区。但是,这也会自动开始遮挡框架中的任何人,这会阻止我的自定义渲染出现
是否可以访问分段缓冲区但禁用自动人物遮挡,以便我可以按自己的方式渲染人物?
【问题讨论】:
【参考方案1】:是的!使用 SceneKit,似乎将 .personSegmentation
添加到帧语义中会自动添加一个实现人员遮挡的SCNTechnique
要禁用此自动遮挡,只需将 sceneView.technique
设为空即可:
self.sceneView.technique = nil
您仍然可以访问segmentationBuffer
,但将不再应用遮挡
您还可以使用ARMatteGenerator
为检测到的人生成更高分辨率的遮罩
【讨论】:
以上是关于ARKit + SceneKit:我可以访问帧的分段缓冲区但禁用自动人物遮挡吗?的主要内容,如果未能解决你的问题,请参考以下文章
没有渲染/虚拟内容的 ARKit/SceneKit 屏幕截图