Merged
Conversation
Contributor
Author
|
The new system has been tested on SB-Test-Scene and it works ! |
…ed/EngineSquared into 33-generic-collision-handler
MasterLaplace
approved these changes
Nov 13, 2024
MasterLaplace
pushed a commit
that referenced
this pull request
Dec 6, 2024
Related to: - #33 I have reworked our collision system to make it as generic as possible. This implies multiple changes in the way we handle collisions: --- No more collision storage. We store collisions as entities and assign them a component. This allows to store any information needed for different types of collisions. --- Naming convention: names were all over the place and it was hard to differenciate box collisions and soft body collisions. I have used the following convention: `<verb><collisionType>Collisions` For example, `DetectABABCollisions` or `ApplySoftBodyCollisions` Collisions are split into three steps: - Detection - Application (if applicable, no pun intended) - Deletion Detection only performs the algebra to detect if two objects actually collides and creates a new collision entity according to what happened. Application updates the colliding components and only happens if it is necessary. For example, with box collisions, it is up to the developer to decide what they want to do with the collision, but with soft body simulations we need to provide a way to update the particle positions. Deletion simply deletes the collision entities. Systems should be added in this order as well --- I had to merge physics and collisions because of circular patterns happening with the soft body collisions. Right now there are still two namespaces Physics and Collisions --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to:
I have reworked our collision system to make it as generic as possible.
This implies multiple changes in the way we handle collisions:
No more collision storage. We store collisions as entities and assign them a component. This allows to store any information needed for different types of collisions.
Naming convention: names were all over the place and it was hard to differenciate box collisions and soft body collisions. I have used the following convention:
<verb><collisionType>CollisionsFor example,
DetectABABCollisionsorApplySoftBodyCollisionsCollisions are split into three steps:
Detection only performs the algebra to detect if two objects actually collides and creates a new collision entity according to what happened.
Application updates the colliding components and only happens if it is necessary. For example, with box collisions, it is up to the developer to decide what they want to do with the collision, but with soft body simulations we need to provide a way to update the particle positions.
Deletion simply deletes the collision entities.
Systems should be added in this order as well
I had to merge physics and collisions because of circular patterns happening with the soft body collisions.
Right now there are still two namespaces Physics and Collisions