gpt4 book ai didi

ios - 如何确定ARObjectAnchor已从场景中移除?

转载 作者:行者123 更新时间:2023-12-02 02:30:36 25 4
gpt4 key购买 nike

我正在尝试使用 ARKit 来验证玩具的位置。我有一个 ARObject 扫描资源,将玩具放在相机 View 中效果很好。换句话说,didAdddidUpdateSCNSceneARSession在玩具放置在摄像机 View 中后的合理时间内按预期调用。但是当我将玩具移离相机 View 时,didRemove SCNScene没有被调用吗?也不适合ARSession .

我确实读到了对这种行为的提倡,说“ARKit 不知道它是否真的被删除了,而且它仍然可能即将到来”,但这是相当不切实际的假设。关于此功能的整个 Apple 文档都是“ARKit 可能会自动删除 anchor ”,但没有说明何时以及为何。我知道isTracked但是ARObjectAnchor似乎是唯一不实现 ARTrackable 的 ARAnchor 子类

我能想到的唯一绝望的黑客是某种模糊超时 didUpdate停止被调用,因为这是删除对象 AFAIK 的唯一效果。我是否忽略了 ARWorldTrackingConfiguration 中的某些内容?请问?

最佳答案

要按名称查找 anchor ,请使用 init(name:transform:) 初始化程序为其指定一个描述性名称:

let anchor = ARAnchor.init(name: "ObjAnchor", transform: mtx) as! ARObjectAnchor

self.sceneView.session.currentFrame?.anchors.filter {
$0.name == "ObjAnchor"
}

或者:

self.sceneView.session.currentFrame?.anchors.contains { 
$0.isKind(of: ARObjectAnchor.self)
}

关于ios - 如何确定ARObjectAnchor已从场景中移除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60435313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com