好吧,我想要做的是在我的SceneKit游戏中使用ARKit为我的角色,我的SCNNode创建物理体/碰撞边界 . 这样我的节点就无法移出用户的视野/走得太远,以至于它不像现在这样可见 . 我的SCNNode被用户输入移动,所以我需要制作“世界边界”,而ARKit仍然没有垂直墙检测

我知道你可以在现实世界中将一个物体放置在你前方一定的距离Understand coordinate spaces in ARKit并且我已经用这个做了这个,只需在这里制作一个带有物理体的盒子 -

let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0) //change to be VERY TALL - need to make it a giant room
        node.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.static, shape: nil)
        box.firstMaterial?.diffuse.contents = UIColor.red
        box.firstMaterial?.isDoubleSided = true
        node = SCNNode(geometry: box)
node.position = SCNVector3(view.pointOfView.simdWorldFront + float3(0, 0, -0.5)) //random distance ahead

这是有效的,我可以将其添加为相机的子节点,以便在用户移动时移动,但我不认为我这样做是正确的 .

基本上我需要4个墙来装入用户/ SCNNode(corral the character)无限高,并且在用户可以看到的水平平面的非常边缘 . 真的我不知道这个距离应该在x平面上是什么:

+ float3(0, 0, -0.5)

你会如何创建这样的AR边界?