Я работаю над проектом ARKit и пытаюсь разместить некоторые объекты на обнаруженной плоскости.Но он не работает должным образом, когда я перемещаю устройство, чтобы разместить другой объект, первый объект не стоит на своей позиции.Я хочу, чтобы каждый визуализированный объект застрял в первой позиции, пока пользователь не начнет взаимодействовать с ним.
Я уже вижу это:
ARKIT: размещение объекта на плоскости не работает должным образом
Но решения пока нет.
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard let planeAnchor = anchor as? ARPlaneAnchor else { return }
self.planeAnchor = planeAnchor
self.floorNode = node
DispatchQueue.main.async {
self.messageLabel.text = "Surface Detectée - Taper + pour choisir des objets"
self.addModelButton.isEnabled = true
self.addModelButton.alpha = 1
}
}
func addFurniture(selectedNode:SCNNode) {
selectedNode.simdPosition = float3(planeAnchor.center.x, planeAnchor.center.y, planeAnchor.center.z)
floorNode.addChildNode(selectedNode)
messageLabel.text = "Model chargé - Vous pouvez le positionner, le faire tourner ou ajouter d'autres. "
}
Как только плоскость обнаружена, пользователь выбирает модель из коллекции, затем модель помещается в обнаруженную плоскость после вызова addFurniture (selectedNode: SCNNode).
Что я делаюнеправильно или что я не делаю?пожалуйста, кто-нибудь может мне помочь?