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 addedCollisionInformation
class reworkedCollision
class improvements- Collision System overhaul:
CollisionObjects
now receive relevantCollisionInformation
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 toCollisionSystem
Copy()
Function added toCollisionInformation
,OverlapInformation
,Collision
,Overlap
, andIntersection
classes- Filter functions added to
CollisionInformation
andOverlapInformation
Intersection
class deleted (replaced byCollisionPoints
class)CollisionPoint
IsFacing*()
functions added to check if normals are facing the correct wayQuerySpace*()
functions in CollisionHandler renamed to IntersectSpace*IntersectSpace*()
functions now returnIntersectSpaceResults
that replaced the oldQueryInfo
system.CastSpace
now usesCastSpaceResult
/CastSpaceEntry
classes- 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