【发布时间】:2019-01-28 13:11:33
【问题描述】:
在我们的 arkit 项目中,对象开始摆动。我们尝试使用较旧的代码,在我们遇到此问题之前它运行良好,但摆动并没有停止。
我们启用了调试选项来显示原点,它也会摆动。我们尝试将我们的应用程序用于不同的设备(iphone XS、Ipad pro 2018、ipad 2018,均使用 ios 12.1.3)和对象。
跟踪图像的大小合适。
这是我们的配置(Swift):
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "Photos", bundle: Bundle.main) else { return }
let configuration = ARWorldTrackingConfiguration()
configuration.detectionImages = referenceImages
configuration.maximumNumberOfTrackedImages = 2
let options: ARSession.RunOptions = [.resetTracking, .removeExistingAnchors]
sceneView.session.run(configuration, options: options)
sceneView.delegate = self
}
这是我们的渲染器:
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard let imageAnchor = anchor as? ARImageAnchor else { return }
let referenceImage = imageAnchor.referenceImage
let imageName = referenceImage.name ?? "no name"
let plane = SCNPlane(width: referenceImage.physicalSize.width, height: referenceImage.physicalSize.height)
let planeNode = SCNNode(geometry: plane)
plane.firstMaterial?.diffuse.contents = UIColor(white: 1, alpha: 0) //make the plane invisable
let obj = SCNScene(named: "art.scnassets/obj.scn")!
let objNode = obj.rootNode.childNodes.first!
objNode.position = SCNVector3Zero
objNode.eulerAngles.y = 90
planeNode.addChildNode(objNode)
node.addChildNode(planeNode)
}
任何人都可以帮助阻止摆动吗?
【问题讨论】:
标签: ios swift ipad scenekit arkit