SceneKit两个节点没有碰撞

时间:2018-03-31 09:43:14

标签: ios swift scenekit physics

我有两个运动学且没有碰撞的SCNNode,我设置了contactDelegate并且物理主体正确缩放。我可以看到,当我调试应用程序时,对象和物理主体会发生冲突。

其中一个主体是在场景中移动的父节点的子节点,而另一个主体是不移动的节点的physicsBody

    let aShape = SCNBox(width: 1, height: 1, length: 15, chamferRadius: 0)

    let aNode = SCNNode(geometry: aShape)
    aNode.position = SCNVector3(0,2,10)
    aNode.physicsBody = SCNPhysicsBody(type: .kinematic, shape: SCNPhysicsShape(geometry: aShape, options: [SCNPhysicsShape.Option.scale : 0.02]))
    aNode.physicsBody?.isAffectedByGravity = false
    aNode.physicsBody?.allowsResting = false

    pNode?.addChildNode(aNode)
    aNode.physicsBody?.categoryBitMask = 4
    aNode.physicsBody?.contactTestBitMask = 8
    aNode.physicsBody?.collisionBitMask = 8

1 个答案:

答案 0 :(得分:0)

在阅读(SceneKit: How to detect contact without collision)之后,我将两个节点设置为静态物理体并且它可以工作:)

相关问题