作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我拍摄了几张照片,我将它们作为 UIImages 添加到名为 imagesPicked 的数组中。我将该数组转换为通过按钮操作加载到配置的 Set,然后通过 resetTracking() 运行 session 。所有这一切都通过以下代码。但我想修改该代码,以便能够在仍在运行时将新图像添加到 AR 引用图像集(例如更改配置),而无需重置 session 。我怎样才能做到这一点?谢谢。
var detectionImages = Set<ARReferenceImage>()
func resetTracking() {
let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = detectionImages
session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}
var index = 0
func createARReferenceSet() -> Set<ARReferenceImage>?
{
var customReferenceSet = Set<ARReferenceImage>()
do{
for i in 0...imagesPicked.count-1{
let image = imagesPicked[i]
let cgImage = image?.cgImage
let imageWidth = CGFloat(0.1)
let customARReferenceImage = ARReferenceImage(cgImage!, orientation: CGImagePropertyOrientation.up, physicalWidth: imageWidth)
customARReferenceImage.name = "MyCustomARImage\(index)"
customReferenceSet.insert(customARReferenceImage)
index += 1
}
}
return customReferenceSet
}
}
@IBAction func detectChosenImage(_ sender: Any) {
detectionImages = createARReferenceSet()!
resetTracking()
}
最佳答案
为了在不重置当前 session 的情况下将图像添加到 AR 引用图像集,请运行不带 [.resetTracking, .removeExistingAnchors]
的新配置。选项,请尝试调用 session.run(configuration)
.
关于swift - 如何在 session 运行期间修改 "AR Reference Image Set"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62613456/
我是一名优秀的程序员,十分优秀!