v3.1.0 Minor Release


Summary

This release addresses various fixes and improvements that were missed in the 3.0 release. Despite introducing some breaking changes, I decided to classify this as a minor release rather than version 4.0, as all the breaking changes pertain to the same systems as the 3.0 release.

FirstContact / ContactEnded System Overhaul

Previously, the FirstContact was only reported for Colliders and not for CollisionObjects. The system has now been split into two separate systems: one for Collider pairs and one for CollisionObject pairs.

  • CollisionObjects:
    • FirstContact between two CollisionObjects is reported once any Collider of one contacts any Collider of the other CollisionObject.
    • The ContactEnded() function for the CollisionObject is called once all contacts between all of the Colliders have ended.
  • Colliders:
    • FirstContact between two Colliders is reported the first time they contact (no contact in the previous frame).
    • The ColliderContactEnded() function is called once the contact ends (contact in the previous frame but no contact in the current frame).

Other Changes:

  • Namespace Changes:
    • CollisionObject moved to the CollisionSystem namespace.
  • Class Removals:
    • ContactEndedInformation class removed.
    • Contact class removed.
  • Function Parameter Changes:
    • ContactEnded(CollisionObject other) function parameters changed.
    • ColliderContactEnded(Collider self, Collider other) function parameters changed.
  • CollisionInformation Improvements:
    • CollisionInformation now includes a FirstContact member, reported only for the two involved CollisionObjects, separate from any FirstContact reporting between Colliders.
    • General improvements and cleanup of CollisionInformation, including new functions.
    • New functions for Exists, Find, and FindAll CollisionPoints.
    • New functions for finding Closest, Furthest, and Combined CollisionPoint.
  • Collision Improvements:
    • Functions for Exists, Find, and FindAll CollisionPoints added.
  • CollisionPoints:
    • GetClosest/Furthest/FacingTowards functions now skip invalid collision points
  • Renaming:
    • GetAverageCollisionPoint() renamed to GetCombinedCollisionPoint() in multiple classes.
  • ResolveCollision Update:
    • CollisionObject.ResolveCollision() is now called for each generated CollisionInformation instead of receiving a list of CollisionInformation.

Release on GitHub.

Files

Shape Engine Examples (v3.1.0) 33 MB
33 days ago
Shape Engine Examples (v3.1.0) 33 MB
33 days ago

Get Shape Engine

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.