The other day I posted a question about Unity Collision inmy game but didnt provide enough detail. Here it is again with proper detail and video included.
It is a puzzle game using gravity and rotation the board as seen in the video. Each cube is a child of the blue backboard so they all rotate with it. They have rigidbodies and have tried both mesh and box colliders but get the same issue with both.
The sphere uses gravity and has a sphere collider. The problem is it collides with the cubes sometimes consistently but will then just fall through and with enough momentum fall completely through the whole level. Here is the video (taken on my phone)
function Update ()
transform.rotation.eulerAngles += Vector3.right * Input.GetAxis("Horizontal") * speed;
Please see the following section in the manual.
Specifically, read about the "Collision Detection" property of a Rigid Body. What is happening is that physics detection is happening every frame and in the time it takes one frame to move to the next, the object has passed through the collider. Keeping it simple, imagine a bullet moves at 300 feet per second. Now imagine we were processing at 10 frames per second (just numbers). Then in every frame the bullet has moved forward 30 feet. It is unlikely that in any given frame the bullet would have collided with a person (say 2 feet around). So at frame x, the bullet is 20 feet in front of me and at frame x+1 it is now 10 feet behind me. In no particular frame did the bullet "collide" with me. It sounds like you might need to use Continuous collisions.
answered Apr 26 '12 at 09:51 PM