出于某种原因,即使我在Stackoverflow上查看了某人的问题,也无法使人闭塞。这是我的代码:
//Load ARView
let arView = ARView(frame: .zero)
//Load people occlusion
let session = ARSession()
if let configuration = session.configuration as? ARWorldTrackingConfiguration {
configuration.frameSemantics.insert(.personSegmentationWithDepth)
session.run(configuration)
}
//Load custom model(not in use)
let model = try! Entity.loadModel(named: "Mug")
//Load Anchor + Entity
let anchor = AnchorEntity(plane: .horizontal)
let box = MeshResource.generateBox(size: 0.1)
let material = SimpleMaterial(color: .red, isMetallic: true)
let entity = ModelEntity(mesh: box, materials: [material])
arView.scene.anchors.append(anchor)
anchor.addChild(entity)
return arView
我想念什么?
您没有将arView
与session
对象一起喂入。
let session = ARSession()
self.arView.session = session
代码应如下所示:
let arView = ARView(frame: .zero)
guard let config = arView.session.configuration as? ARWorldTrackingConfiguration
else { print("Can't run this configuration...") }
guard ARWorldTrackingConfiguration.supportsFrameSemantics(.personSegmentationWithDepth)
else { print("People Occlusion feature isn't supported.") }
config.frameSemantics.insert(.personSegmentationWithDepth)
arView.session.run(config)