gpt4 book ai didi

swift - 在 ARImageTrackingConfiguration 中同时跟踪两个对象

转载 作者:行者123 更新时间:2023-11-28 07:23:03 24 4
gpt4 key购买 nike

我想将两个 3D 模型链接到两个不同的跟踪器。我将跟踪器捕捉到引用照片,但我不明白如何在 ARImageTrackingConfiguration

中同时跟踪两个对象
guard let trackedImages = ARReferenceImage.referenceImages(inGroupNamed: "Photos2", bundle: Bundle.main) else {
print("No images available")
return
}

我将跟踪器捕捉到引用照片,但我不明白如何在 ARImageTrackingConfiguration 中同时跟踪两个对象

最佳答案

你需要把它放到ViewController中:

class ViewController: UIViewController {

func trackingConfig() {

guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources",
bundle: nil)
else {
return
}

let config = ARWorldTrackingConfiguration()
config.detectionImages = referenceImages
let options: ARSession.RunOptions = [.resetTracking,
.removeExistingAnchors]
sceneView.session.run(config, options: options)
}
}

然后创建一个包含渲染器方法和函数内部开关的扩展:

extension ViewController: ARSCNViewDelegate {

func renderer(_ renderer: SCNSceneRenderer,
didAdd node: SCNNode,
for anchor: ARAnchor) {

guard let imageAnchor = anchor as? ARImageAnchor,
let imageName = imageAnchor.referenceImage.name
else {
return
}

let geometryNode = nodeGetter(name: imageName)
node.addChildNode(geometryNode)
}

func nodeGetter(name: String) -> SCNNode {

var node = SCNNode()

switch name {
case "geometry_01": node = geoOne
case "geometry_02": node = geoTwo
default: break
}
return node
}
}

关于swift - 在 ARImageTrackingConfiguration 中同时跟踪两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57485286/

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