3

我正在尝试同时加载people occlusion和加载motion capture同一个应用程序。

由于ARBodyTrackingConfiguration不支持personSegmentationWithDepth,我正在创建 2 个 ARView,为每个提供不同的配置(ARWorldTrackingConfigurationARBodyTrackingConfiguration)。

问题是由于某种原因,只有一个委托回调被触发,并且没有可用的深度数据。

我在这里做错了什么?

不能同时拥有多个 ARSession 吗?

4

1 回答 1

1

在 ARKit 4.0 中,这两个功能可以同时运行。但是它们都是 CPU 密集型的。

override func viewDidLoad() {
    super.viewDidLoad()
    
    guard ARBodyTrackingConfiguration.isSupported
    else { fatalError("MoCap is supported on devices with A12 and higher") }
    
    guard ARBodyTrackingConfiguration.supportsFrameSemantics(
                                               .personSegmentationWithDepth)
    else { fatalError("People occlusion is not supported on this device.") }
        
    let config = ARBodyTrackingConfiguration()
    config.frameSemantics = .personSegmentationWithDepth
    config.automaticSkeletonScaleEstimationEnabled = true
    arView.session.run(config, options: [])
}
于 2021-04-07T06:59:12.300 回答