Ios 在SceneKit中,我们不能在每个位置创建物理实体,这正常吗?

Ios 在SceneKit中,我们不能在每个位置创建物理实体,这正常吗?,ios,swift,scenekit,Ios,Swift,Scenekit,在sceneView,我们有一个大立方体 SCNBox(width: 10, height:10, length: 10, chamferRadius: 0) 我们将球体(半径=1)放置在较大立方体的六个表面上。 球体具有动态物理体 调试器模式在以下情况下处于活动状态: sceneView.debugOptions = [.showPhysicsFields, .showPhysicsShapes] 当我们运行应用程序时,我们可以看到只有球体具有节点位置 SCNVector3(x:0, y:

在sceneView,我们有一个大立方体

SCNBox(width: 10, height:10, length: 10, chamferRadius: 0)
我们将球体(半径=1)放置在较大立方体的六个表面上。 球体具有动态物理体

调试器模式在以下情况下处于活动状态:

sceneView.debugOptions = [.showPhysicsFields, .showPhysicsShapes]
当我们运行应用程序时,我们可以看到只有球体具有节点位置

SCNVector3(x:0, y: 0, z: 10.5) 
似乎有正文,只有这一个由调试器标记。 同样,只有当一个运动物体接触到这个球体时,它才会做出反应

我们是否缺少了一些东西,为什么其他表面上的球体不能有物理实体

这就是我创建球体的方式

    var ball:[SCNSphere] = []
    var ballNode:[SCNSNode] = []

    var body:[SCNPhysicsBody] = []
    let pShape = SCNSphere()
        pShape.radius = 1
        pShape.segmentCount = 1


    for k in 0..<6 {

      ball.append(SCNSphere())
      ballNode.append(SCNSphere())
      ball[k].radius = 1
      ball[k].hunt.firstMaterial?.diffuse.contents = UIColor.red
      ballNode[k]= SCNNode(geometry:ball[k])

      let shape = SCNPhysicsShape(geometry: pShape, options: nil)
      body.append(SCNPhysicsBody())
      body[k] = SCNPhysicsBody(type: .dynamic, shape: shape)
      body[k].isAffectedByGravity = false
      body[k].friction = 1
      body[k].restitution = 0.1
      body[k].angularDamping = 1
      ballNode[k].physicsBody = body[k] 

      let coors = createCoors(index: k)
      ballNode.position = SCNVector3(coors.x, coors.y, coors.z)

      bigBoxNode.addChildNode(ballNode[k]) 
   }
var-ball:[SCNSphere]=[]
var ballNode:[SCNSNode]=[]
变量主体:[SCNPphysisBody]=[]
设pShape=SCNSphere()
p形状半径=1
pShape.segmentCount=1

对于0中的k..所有节点都可以具有PhysicsBody属性。您可以看到所有6个球体,但只有1个球体发生反应?你能附上一张图片和/或显示PhysicsBody属性吗?我注意到只有球有活跃的物理体,那就是在表面上看摄像机的球。如果我旋转立方体并在移除实体后重新运行上面的代码,则活动球将变为面向摄影机的球????