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