如何使用 ARKit 将 3D 对象放置在另一个对象之上?

How to place a 3D object above the other one using ARKit?

我正在使用 Apple 提供的 sample 开发基于 AR 的 POC。

有没有办法在 SceneKit 中将一个 3D 对象放置在另一个 3D 对象之上?

例如,我放置了一个 table,我必须在上面放置其他东西,例如花瓶。如何做到这一点?

因为据我所知,ARKit 只检测地板表面,如果我尝试将花瓶放在已经保存的 table 上,它会将它放在 table 下,与现有的 3D 对象。这可行吗?

当你制作hitTest时,你可以检查是否有任何节点:

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

然后你可以将你的新节点作为touched节点的子节点。