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&OverlapInformationclasses addedCollisionInformationclass reworkedCollisionclass improvements- Collision System overhaul:
CollisionObjectsnow receive relevantCollisionInformationand 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
CollisionNamespace changed toCollisionSystemCopy()Function added toCollisionInformation,OverlapInformation,Collision,Overlap, andIntersectionclasses- Filter functions added to
CollisionInformationandOverlapInformation Intersectionclass deleted (replaced byCollisionPointsclass)CollisionPointIsFacing*()functions added to check if normals are facing the correct wayQuerySpace*()functions in CollisionHandler renamed to IntersectSpace*IntersectSpace*()functions now returnIntersectSpaceResultsthat replaced the oldQueryInfosystem.CastSpacenow usesCastSpaceResult/CastSpaceEntryclasses- Direction
ToAlignement()Function fixed &ToInvertedAlignement()Function added - Deprecated classes removed:
- Effect
- Effect Object
- Particle
- PhysicsParticle
- RangeFloat
- RangeInt
- SavegameFolder
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.
Pull Requests
Full Changelog: v2.4.0...v3.0.0