ARKit / RealityKit - Конфигурация окклюзии людей не работает - PullRequest
1 голос
/ 02 апреля 2020

По какой-то причине я не могу заставить людей работать с окклюзией, хотя я смотрел на чей-то вопрос о 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

Что мне не хватает?

1 Ответ

0 голосов
/ 02 апреля 2020

Вы не кормили 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)
...