1

3D object place perfectly in ARSCNView but problem is that when object placed in AR and move camera right, left, top and bottom too fast then 3D object started hovering and dancing anywhere with the planeNode

how I can fix this issue, trying lots of way to find the solution still not get any result

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    // Cast ARAnchor as ARPlaneAnchor
    guard let planeAnchor = anchor as? ARPlaneAnchor else { return }

    let planeGeometry = ARSCNPlaneGeometry(device: MTLCreateSystemDefaultDevice()!)!
    planeGeometry.update(from: planeAnchor.geometry)

    // Add material to geometry
    let material = SCNMaterial()
    material.diffuse.contents = UIColor.blue.withAlphaComponent(0.8)
    planeGeometry.materials = [material]

    // Create a SCNNode from geometry
    let planeNode = SCNNode(geometry: planeGeometry)
    self.privateNode = planeNode
    self.anchors.append(planeNode)
    DispatchQueue.main.async {
        self.lbl_middle_heading.text = Constants.kSharedAppDelegate?.languageBundle.localizedString(forKey: "Please tap anywhere on screen.", value: "", table: nil)
        self.showFeaturePoints(isShowDeugOptions: false)
    }
    // Add the newly created plane node as a child of the node created for the ARAnchor
    node.addChildNode(planeNode)
}

func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
    // Cast ARAnchor as ARPlaneAnchor, get the child node of the anchor, and cast that node's geometry as an ARSCNPlaneGeometry
    guard
        let planeAnchor = anchor as? ARPlaneAnchor,
        let planeNode = node.childNodes.first,
        let planeGeometry = planeNode.geometry as? ARSCNPlaneGeometry
        else { return }

    planeGeometry.update(from: planeAnchor.geometry)
}
Andy Jazz
  • 49,178
  • 17
  • 136
  • 220

1 Answers1

0

The model is "dancing" or drifting away along some axis in AR app for three main reasons:

  • if you imported an animated model
  • if a model isn't tethered by ARAnchor
  • if a tracking of your scene is poor

Track a surrounding environment thoroughly and make sure it's accordingly lit and has quite detailed texture for getting a sufficient quantity of feature points to track.

Andy Jazz
  • 49,178
  • 17
  • 136
  • 220