Here is a list of changes for the different versions of DigitalRune Physics.
This topic contains the following sections.
NEW: Property RagdollMotor..::..MaxConstraintForce added.
CHANGE: Minor other changes.
ENHANCEMENT: Avoiding memory allocations in vehicle physics. ("Zero garbage")
FIX: KinematicCharacterController could tunnel through objects when trying to step on to obstacles.
Windows Phone assemblies now target Windows Phone 7.1.
NEW: Mono support (experimental).
NEW: Added new public property: Simulation..::..TargetTime
NEW: Added a sample in PhysicsSample that demonstrates use of contact filters and how to create smooth movement of spheres over a triangle mesh.
NEW: Simulation does not create contact constraints between non-dynamic bodies anymore.
NEW: Improved documentation.
NEW: The default collision filter used by the simulation is now the standard DigitalRune.Geometry.Collisions..::..CollisionFilter. It can be replaced by any filter that implements DigitalRune.Geometry.Collisions..::..ICollisionFilter.
FIX: Jump height of kinematic character controller was dependent on frame rate.
Minor other changes and improvements.
NEW: DigitalRune.Physics.Specialized..::..Vehicle simulation uses hard constraints when wheel suspensions are fully compressed. This reduces problems where wheels sink into the ground.
NEW: DigitalRune.Physics.Specialized.AvatarRagdollAnimation could cause an invalid cast exception when a custom collision filter was used in the collision detection.
FIX: Exception in Simulation..::..Update(Single) when a constraint was added to the simulation that refered to rigid bodies that were not added to the simulation.
FIX: Sleeping kinematic rigid bodies did not wake up automatically when a very small velocity was set for the rigid bodies.
NEW: Ragdolls for Xbox LIVE Avatars, including blending of ragdoll physics and keyframed animation.
NEW: Improved character controllers.
New features: dynamic jump height, configurable maneuverability during jump, climbing, crawling, support for moving platforms, holding on ledges, and a lot more.
The old CharacterController class has been removed from DigitalRune.Physics.dll and the PhysicsSample. Two new classes have been added: DynamicCharacterController and KinematicCharacterController. A separate Character Controller Sample has been added.
NEW: Vehicle physics.
NEW: New DLL DigitalRune.Physics.Specialized.dll that contains avatar ragdolls, character controllers and vehicle physics.
NEW: MotionSettings..::..CcdFilter allows to control when CCD should be used and for which body pairs CCD should be disabled.
ENHANCEMENT: Removed tunneling of very fast body when body hit concave edge of a triangle mesh or a composite shape.
FIX: Corrected documentation: For the TwistSwingLimit the Minimum/Maximum angles are in the range [-Pi, +Pi] and not [-Pi/2, +Pi/2].
FIX: ContactSet and Contact could be recycled to early when CCD is used.
Minor other improvements.
NEW: New examples added:
Windows Phone 7 examples and all examples from our website and blog.
How to load an XNA Model and build convex hull in XNA content pipeline.
How to load an XNA Model and build pre-processed triangle mesh in XNA content pipeline.
How to generate a height field using the XNA content pipeline.
How to play realistic collision sounds.
Several improvements in the existing samples.
FIX: License keys do not need to be entered in XNA content pipeline projects - this did not work with some Visual Studio Express editions.
CHANGE: The automatically computed mass of a HeightField is now always 0 (which means they are static and do not have a valid mass). Previously, the library tried to compute a mass frame from the mesh of the height field.
CHANGE: The Recycle methods of resource pooled objects are now instance methods instead of class/static methods.
Minor other changes.
NEW: Multithreading support added. Multithreading within a Simulation can be enabled by setting the property SimulationSettings..::..EnableMultithreading. The multithreading support is provided by the DigitalRune Helper Library. See namespace DigitalRune.Threading and class Parallel.
NEW: New property ConstraintSettings..::..RandomizeConstraints.
NEW: New property MotionSettings..::..RemoveBodiesOutsideWorld.
NEW: The PhysicsSample example application contains a new sample "Sample 28 - Performance Test" that explains several performance relevant tricks and settings.
ENHANCEMENT: Memory and performance optimizations.
ENHANCEMENT: Improved resource pooling to minimize memory allocations at runtime.
ENHANCEMENT: Damping is now by default using a faster, but less accurate damping model.
FIX: Exception when rigid body left the simulation world.
FIX: Mass computation of non-closed meshes could lead to exception.