Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rigidbody Physics #1014

Open
9 of 35 tasks
RiscadoA opened this issue Feb 25, 2024 · 0 comments
Open
9 of 35 tasks

Rigidbody Physics #1014

RiscadoA opened this issue Feb 25, 2024 · 0 comments

Comments

@RiscadoA
Copy link
Member

RiscadoA commented Feb 25, 2024

Checklist

  • Current Path:
  1. Transition to TGS Soft solver
  2. Implement restitution and friction (might make sense to implement physics materials at this point unlike what I initially thought)
  3. Implement torque and angular velocity in components and add them to integration systems
  4. Implement contact points on collision
  5. Implement solving for collisions with rotation

Problem

Currently our physics engine completely disregards rotation.

References

Overall solver stuff:
High level description of the solver:
https://box2d.org/posts/2024/02/solver2d/
Solver2D implementation:
https://github.com/erincatto/solver2d/blob/main/src/solve_tgs_soft.c
Box2D v3.0 implementation, only got restitution from here at this point:
https://github.com/erincatto/box2c/blob/1d7d1cf14722a06f6a7b1c3b0850e70bcbec8558/src/contact_solver.c#L347
Iterative Dynamic Paper, not the easiest to read, can't remember exactly what I got from here:
https://box2d.org/files/ErinCatto_IterativeDynamics_GDC2005.pdf
Sequential Impulses, very relevant:
https://box2d.org/files/ErinCatto_SequentialImpulses_GDC2006.pdf
Soft Constraints, also very relevant:
https://box2d.org/files/ErinCatto_SoftConstraints_GDC2011.pdf
Formulas for collision response, where I got the separation impulse formula without the rotations:
https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/physicstutorials/5collisionresponse/Physics%20-%20Collision%20Response.pdf
Allen Chou post on the matter:
https://allenchou.net/2013/12/game-physics-resolution-contact-constraints/

Only Friction:
https://www.gamedev.net/forums/topic/613945-sequential-impulse-bias-velocities/
https://pybullet.org/Bullet/phpBB3/viewtopic.php?t=8658
https://www.gamedev.net/forums/topic/673822-contact-tangents/ (what I meantioned on github)
https://gamedev.stackexchange.com/questions/179606/how-to-calculate-plane-corner-vertices-from-plane-origin-point-and-plane-normal (find tangents for friction)

Angular Motion:
https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/physicstutorials/3angularmotion/Physics%20-%20Angular%20Motion.pdf

Manifolds and collision points:
https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/previousinformation/physics5collisionmanifolds/2017%20Tutorial%205%20-%20Collision%20Manifolds.pdf
https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/physicstutorials/4collisiondetection/Physics%20-%20Collision%20Detection.pdf
Also used the structures to hold the date in Box2D/Avian for reference
Code: https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/previousinformation/csc8503coderepository/

Collision Response:
https://research.ncl.ac.uk/game/mastersdegree/gametechnologies/physicstutorials/5collisionresponse/Physics%20-%20Collision%20Response.pdf
Box2D/Avian/Box2c

@RiscadoA RiscadoA added A-Engine C-Tracking-Issue S-Triage Issues whose priority still has to be figured out B-Physics labels Feb 25, 2024
@RiscadoA RiscadoA removed the S-Triage Issues whose priority still has to be figured out label May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant