Seeing even farther with Farseer Physics Engine v3.5
- Posted: Sep 18, 2013 at 6:00AM
- 14,003 views
- 1 comment
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
When was the last time I've mentioned a psychics engine? A while. Farseer? Even longer. The release of a Farseer update seems like a good time to fix that...
Farseer Physics Engine 3.5 - Mars is not that far away
FPE 3.5 is a major release that implements the latest tools, bugfixes and speed improvements. Note that all the packages contain project files for both XNA, Xbox360, Windows Phone 7 and MonoGames
Support the project
If you liked this release and would like to keep this project going. Please consider donating.
- Huge speed improvement when added a lot of bodies
- Support for MonoGame
- New MotorJoint for car suspension
- Fixed a bug where OnSeparation was not always called
- Less garbage generated from DebugView
- More cache-coherent joints
- Fixed bug in YuPengClipper when two polygons completely overlapped
- The engine should now be thread safe.
- Arc shapes now use a single body
- Added LoopShape, a fully closed set of edge shapes with smooth collision
- Better serialization support (now with support for joints)
- Cloning objects have been fixed
- Introduced AllCollisionCallbacksAgree and SkipSanityChecks to Settings
- Much, much more...
Notes on upgradingThe engine is not backwards compatible. If your current version works fine, I would suggest you keep it. A few of the changes that breaks backwards compatibility:
- Triangulation algorithms are now encapsulated inside the new Triangulate class. This is to ensure high performance by omitting checks that are not necessary for different algorithms.
- All joints now work in local coordinates. Use the "UseWorldCoordinates" overload and set it to true, to use world coordinates instead.
- Fixed joints have been removed, as they had issues calculating the correct position and velocity in some rare situations.
What is Farseer Physics Engine?
Farseer Physics Engine is a collision detection system with realistic physics responses. This means you can create a game or robotic simulation easily using the engine and the associated tools. Everything from a simple hobby game to a complex robotic simulation is possible with Farseer Physics Engine. Download the latest version and checkout our documentation.
FeaturesFarseer Physics Engine is based on Box2D, which means we have a lot of features in common. However, we also have a lot more features that are not included in the Box2D engine. See a list in our documentation.
- Continuous collision detection (with time of impact solver)
- Contact callbacks: begin, end, pre-solve, post-solve
- Convex and concave polyons and circles.
- Multiple shapes per body
- Dynamic tree and quad tree broadphase
- Fast broadphase AABB queries and raycasts
- Collision groups and categories
- Sleep management
- Friction and restitution
- Stable stacking with a linear-time solver
- Revolute, prismatic, distance, pulley, gear, mouse joint, and other joint types
- Joint limits and joint motors
- Controllers (gravity, force generators)
- Tools to decompose concave polygons, find convex hulls and boolean operations
- Factories to simplify the creation of bodies
And of course, the source for the engine and samples are all available;
Here's the XNA sample running;