【发布时间】:2018-12-06 15:03:47
【问题描述】:
我目前正在使用 ARKit 制作 Scenekit 游戏。
我有两个动态的 SCNNode,当它们相互接触时,它们会相互穿过。
我已经将每个节点的物理体的 collisionBitMask 设置为相互包含,如下所示:
ballNode.physicsBody?.collisionBitMask = BodyType.floor.rawValue | BodyType.opponent.rawValue
我还把每个节点的物理体设置成动态的,这样节点就会受到力和碰撞的影响。
当我调用physicsWorld(_ world: SCNPhysicsWorld, didBegin contact: SCNPhysicsContact) 时,它确实正确记录了两个节点之间存在冲突,但是这些节点继续相互通过。
当我使其中一个节点运动而不是动态时,它会正确地阻塞另一个节点,并且它们不会相互穿过。但是当它是运动学的时候,它不会对我施加的力做出反应,所以我想保持它的动态。
是否可以让两个动态节点相互碰撞而不通过?
【问题讨论】:
标签: ios swift scenekit arkit scnnode