- Home /
My Rigid body is passing through my static mesh (non rigid)
I understand why this happens and the solution with ray tracing makes complete sense. However I'm new to Unity and I really think there's got to be a simpler way for me. Reason being my scenario.
I have a ball of 1x1x1 scale and it's being thrown at a box of 0.5x20x20 (from the x side) at a velocity of ~7000. While that's fast, it's not bullet fast.
I've tried continuous and continuous dynamic with the ball and both seem to work the same. The ball passes through ever 1/7 times. I even tried adding a rigid body to my "wall" with position locking and it just slowed down the performance while not really adding any benefit.
What should I do?
Answer by Doireth · Jan 28, 2013 at 08:34 PM
The problem is really due to the velocity of the object. The physics engine simple doesn't have enough time to register the collision. Using "continuous" and "continuous dynamic" can help but a velocity of 7000 m/s will need some help.
An alternative to raycasting method is to have a thicker mesh for the ball more time to collide.
Consider that if an object is moving at 7000 m/s at a frame-rate of 60 FPS then the ball would move 166 meters each frame. The engine "puts" the ball at those increments and calculates the appropriate collisions at that point. The raycasting method would be needed to finded what, if anything, would have been collided with in between those points.
if I deter$$anonymous$$ed a hit occurred between frames let's say I move the ball to the spot of impact (maybe 1mm into the wall) would unity take over from there and process the collision?
It should yes though this can be dependant on what you are trying to achieve. For example, if you need the moving object to knock over another rigidbody (I'm aware that's now what you are trying to achieve in this example) then simply putting the ball at the collision point would not have it moving at the velocity you would need.
Your answer
Follow this Question
Related Questions
Detecting if near the edge of an object ? 2 Answers
Checking Collision on instantiated object 0 Answers
In-game pickup not moving towards player after being collected 1 Answer
object passing through walls and floors 1 Answer
Does OnCollisionEnter only get called when the scripted object initiates the collision? 4 Answers