Here is a list of changes for the different versions of DigitalRune Physics.

This topic contains the following sections.

Version 1.5

Version 1.4

Version 1.3.1

  • 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.

Version 1.3

  • 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.

Version 1.2.1

  • 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.

Version 1.2

  • 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.

Version 1.1.1

  • 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.

Version 1.1

  • 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.

See Also

Other Resources