So I have a dynamic rectangular physicsbody (the player) that collides with the ground, which is not dynamic and is also a rectangle.
Whenever the two collide the player's physicsbody passes slightly through the ground and then bounces back up. I can see this visually and through using println() to log the character's Y position every frame:
117.405
107.206
96.3573
84.8607
72.7158
59.9225
46.4809
50.826 <-- Player's position dips down below surface of ground
52.3426
52.3685
52.3703
52.3704
Restitution is set to 0.0 for both physics bodies. I've even tested this in a blank project and it seems to happen no matter what.
Is there a better way to detect this collision, using raycasts, intersections of rectangles, or some other custom implementation other than Spritekit's bizarre physics?