我遇到了一个错误,似乎从未找到 AnchorEntity 的目标。
例如:我在 Reality Composer 中将水平面设置为触发器。一旦我运行该项目,有时(并非总是)它永远不会检测到飞机。就像飞机检测没有运行一样。
我的解决方案是使用基于 AnchorEntity 中的目标的配置运行会话。问题是我无法使用检测图像运行会话,因为我从目标.image
案例中收到的只是名称和组。我无法ARReferenceImages
使用该数据进行初始化。
let loadRequest = Entity.loadAnchorAsync(contentsOf: url)
loadRequest.sink(receiveCompletion: { result in
print("handle completion and error") },
receiveValue: { anchorEntity in
switch anchorEntity.anchoring.target {
case .plane(let alignment, classification: let classification, minimumBounds: let bounds):
let config = ARWorldTrackingConfiguration()
config.planeDetection = alignment == .horizontal ? .horizontal : .vertical
self.arView.session.run(config, options: .resetTracking)
case .image(group: let group, name: let name): break
// ISSUE: run session with detected images from anchorEntity
default: break
}
self.arView.scene.addAnchor(anchorEntity)
}).store(in: &self.subscribers)