v3.0.0 Major Release


Summary

This release improves how collision/overlap/query information is aggregated and handled.

Before, information was collected on a per-collider basis, and events/functions were called on the active collider involved. This meant the actual collision object and collider parent would not be notified.

Now, all the information is grouped per collision object. The collision/overlap between colliders with all the collision points is still collected together in one class. So, each collision object gets notified of all the collisions/overlaps that happened with any of the child colliders at the end of each frame. A collision without collision points is an overlap!

These changes should help in making it easier to use the collision information. The actual collision detection and data have not changed just how it is grouped together and presented to the involved collision objects/ colliders.

Changelog

  • Overlap & OverlapInformation classes added
  • CollisionInformation class reworked
  • Collision class improvements
  • CollisionSystem overhaul:
    • CollisionObjects now receive relevant CollisionInformation and can choose to pass it down to involved colliders
    • Collision information is now collected / sorted based on the other involved collision object. This means a collision is now detected and reported for all involved colliders in a collision between 2 collision objects at once. 
    • Functions/ Events involved renamed and reworked to make the system clearer
  • Collision Namespace changed to CollisionSystem
  • Copy() Function added to CollisionInformation, OverlapInformation, Collision, Overlap, and Intersection classes
  • Filter functions added to CollisionInformation and OverlapInformation
  • Intersection class deleted (replaced by CollisionPoints class)
  • CollisionPoint IsFacing*() functions added to check if normals are facing the correct way
  • QuerySpace* functions in CollisionHandler renamed to IntersectSpace*
  • IntersectSpace* functions now return IntersectSpaceResults that replaced the old QueryInfo system.
  • CastSpace now uses CastSpaceResult/CastSpaceEntry classes
  • Direction ToAlignement() Function fixed & ToInvertedAlignement() Function added
  • Deprecated classes removed:
    • Particle
    • PhysicsParticle
    • RangeFloat
    • RangeInt
    • SavegameFolder
    • Effect
    • EffectObject


Examples

  • 2 new attacks added to EndlessSpaceExample for testing the new collision system with overlaps (Q/E, LMB/RMB) for triggering the new attacks.
  • GameObjectHandlerExample new overlap circle objects added that change color based on how many collision objects they overlap.
  • Improvements & Fixes in various Example Scenes.

Get Shape Engine

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.