В настоящее время я работаю над созданием игры Scenekit в ARKit.
У меня есть два динамических узла SCN, и когда они контактируют друг с другом, они проходят друг через друга.
Я настроил collisionBitMask физического тела каждого узла так, чтобы он включал друг друга, например:
ballNode.physicsBody?.collisionBitMask = BodyType.floor.rawValue | BodyType.opponent.rawValue
Я также настроил физическое тело каждого узла как динамическое, чтобы на узел влияли силы и столкновения.
Когда я вызываю physicsWorld(_ world: SCNPhysicsWorld, didBegin contact: SCNPhysicsContact)
, он правильно регистрирует конфликт между двумя узлами, однако узлы продолжают проходить друг через друга.
Когда я делаю один из узлов кинематическим, а не динамическим, он правильно блокирует другой узел, и они не проходят друг через друга. Но когда он кинематический, он не реагирует на силу, которую я к нему прилагаю, поэтому я хочу, чтобы он оставался динамичным.
Возможно ли, чтобы два динамических узла сталкивались друг с другом, не проходя через них?