2017-08-29 4 views
2

Je travaille sur un POC basé AR en utilisant l'échantillon donné par Apple https://developer.apple.com/sample-code/wwdc/2017/PlacingObjects.zip.Comment placer un objet 3D au-dessus de l'autre en utilisant ARKit - Scenekit d'iOS 11?

Existe-t-il un moyen de placer un objet 3D au-dessus d'un autre objet 3D dans Scenekit? Par exemple, j'ai placé une table au-dessus de laquelle je dois placer quelque chose d'autre comme un vase de fleur. Comment y parvenir? Parce que pour autant que je sache, ARKit ne détecte que la surface du sol et si j'essaie de placer le vase à fleurs sur la table déjà conservée, il la place sous la table chevauchant l'objet 3D existant. Est-ce faisable?

Répondre

3

Lorsque vous faites hitTest, vous pouvez vérifier s'il y a des noeuds:

let results = sceneView.hitTest(checkLocation, options: [.boundingBoxOnly: true]) 
guard let node = results.first?.node else { return } 

Ensuite, vous pouvez placer votre nouveau nœud en tant que nœud enfant pour le noeud touché.