This project has moved. For the latest updates, please go here.

wall break

Dec 22, 2008 at 9:08 AM

I tried different parameters but I'm not able to achieve the effect I'm looking for.

I have a thin wall and a circle. The purpose is that the circle can't penetrate the wall. If a choose a thick wall it works great so that the circle bounces from the wall.
When using a thin wall the circle bounces back if it has a slow rotation and velocity. But if the velocity or rotation is high enough than it break through the wall.

My question is how to make the wall impenetrable just like lead.  I've got a notion that the circle penetrates the wall just like a fast bullet which is fast enough and I just need to change some parameters to solve the problem.

Has somene an idea?
Dec 22, 2008 at 9:16 AM
This is a known issue called tunneling. It's caused by the objects moving too fast into a small (or thin) object and because the physics engine gets updated too little.
The physics engine calculates where the ball is going to be and then moves the ball. On the next update, the exact same thing happens again and the ball has no clue where it just was. At high velocities, the ball can be right next to the thin wall on the first update, and on the next it can be right in the middle of the thin wall (or even on the other side). This causes some problems.

Take a look at our manual: Farseer Physics Engine Manual
Under Known Issues there is a Tunneling chapter

Matthew is going to work on a solution to this in Farseer Physics 2.1.
Dec 22, 2008 at 9:24 AM
Thank you for your fast reply,

I will use this workaround temporarily :)

Is there a date for the release of Farseer Physics 2.1?

Thanks, Lars
Dec 22, 2008 at 9:31 AM
There is no official release date of Farseer Physics 2.1 yet. We still need to complete the planning phase before we can estimate the release date.
The implementation of the new algorithms to prevent tunneling will be one of the first big things we implement. You will be able to grab it from our source control right after we implement it. We will have a progress thread that informs the community of our current progress. Keep an eye out for it :)