Déplacer un noeud spécifique dans SceneKit en utilisant le toucher

J'ai une scène avec plusieurs nœuds. Je veux sélectionner un nœud en le tapotant (si je ne tape rien je ne veux rien) et lui faire suivre mon doigt uniquement sur l'axe XY (je connais la position sur l'axe Z). Existe-t-il une méthode qui convertit l'location en vue aux coordonnées SceneKit?

Après quelques searchs, j'ai trouvé ça et c'est exactement ce que je veux, mais je n'ai pas le code. Quelqu'un peut-il m'expliquer ou m'aider à comprendre comment puis-je résoudre mon problème? https://www.youtube.com/watch?v=xn9Bt2PFp0g

func CGPointToSCNVector3(view: SCNView, depth: Float, point: CGPoint) -> SCNVector3 { let projectedOrigin = view.projectPoint(SCNVector3Make(0, 0, depth)) let locationWithz = SCNVector3Make(Float(point.x), Float(point.y), projectedOrigin.z) return view.unprojectPoint(locationWithz) } 

On dirait que c'était assez simple, j'ai fait une fonction qui obtient 3 parameters. View est le SCNView auquel la scène est attachée, la profondeur est la valeur z du nœud, et le point est un CGPoint qui représente la projection d'une scène 3D à l'écran.