Commit Graph

216 Commits

Author SHA1 Message Date
Diren D Bharwani a49c674c2b Generalised the Parallel Axis Theorem for computing inertia tensors 2023-01-04 15:03:58 +08:00
Diren D Bharwani b2645fb584 Added support for composite colliders 2023-01-03 18:53:21 +08:00
Diren D Bharwani 0460d776b0 Fixed collision tag panel fallacies and saving of tag masks 2023-01-03 10:40:02 +08:00
Diren D Bharwani 1b5024793c Added debug drawing for rays 2023-01-03 10:14:39 +08:00
Diren D Bharwani 1f2a9820d1 Readded collision tags and moved collision filtering to an earlier stage 2023-01-02 22:49:12 +08:00
Diren D Bharwani 58a44997b2 Reworked raycasting on engine side. Re-added raycasting to scripting 2023-01-02 22:31:48 +08:00
Diren D Bharwani ddfbc71400 Added implementation for raycasting into the collision space 2023-01-01 19:39:16 +08:00
Diren D Bharwani 7a92c2c86f Reverted a change 2023-01-01 17:23:06 +08:00
Diren D Bharwani 50de3a8ef0 Added some todo comments 2023-01-01 17:15:49 +08:00
Diren D Bharwani 6f55f202b9 Added planes 2023-01-01 16:53:13 +08:00
Diren D Bharwani 38764e79b3 Added trigger check for sphere vs convex polyhedron 2023-01-01 03:32:59 +08:00
Diren D Bharwani f3c0bdbcfd Clean up 2023-01-01 03:24:34 +08:00
Diren D Bharwani 67907b1ca9 Replaced twin-edge dependency on sphere vs convex polyhedron 2023-01-01 02:48:02 +08:00
Diren D Bharwani 00f8726e46 Solved edge case for sphere vs convex polyhedron 2023-01-01 02:42:44 +08:00
Diren D Bharwani 3a7336fe15 Improved stability of sphere vs convex polyhedron except for one edge case 2022-12-31 18:43:46 +08:00
Diren D Bharwani 136b7e7bfc Renamed HalfEdgeDS to HalfEdgeStructure for clarity
do not abbreviate. abbreviation are usually bad!!
2022-12-31 01:47:42 +08:00
Diren D Bharwani 6451ca5e95 forgot to flip a normal 2022-12-31 01:40:28 +08:00
Diren D Bharwani 987a1fa515 Fixed false positives with convex polyhedron radii 2022-12-31 01:18:35 +08:00
Diren D Bharwani 896b47c1a0 Fixed and optimised sphere vs convex polyhedron
Improved sphere vs convex polyhedron from O(n^2) to O(n). Math is amazing.
2022-12-31 01:11:25 +08:00
Diren D Bharwani 82d46fce99 Fixed voronoi region tests for sphere vs convex polyhedron 2022-12-30 23:53:45 +08:00
Diren D Bharwani 3586c7ffdc Added mostly working sphere vs convex polyhedron collision detection 2022-12-30 21:43:22 +08:00
Diren D Bharwani d98d6a9e06 Refactored polyhedron and half-edge structures 2022-12-30 21:43:06 +08:00
Diren D Bharwani a36d03b03b Contacts now draw normals 2022-12-30 21:42:44 +08:00
Diren D Bharwani 50e3ddf0dd Fixed box inertia tensor calculation 2022-12-30 17:59:59 +08:00
Diren D Bharwani 7b1b4873ec dumb dumb energy 2022-12-30 01:27:31 +08:00
Diren D Bharwani fba338eaef Fixed half edge builder and built box polyhedron 2022-12-30 01:14:40 +08:00
Diren D Bharwani 400cbb35d9 Partial implementation of a generic convex polyhedron object 2022-12-30 00:45:37 +08:00
Diren D Bharwani ea1dd57996 Added stub functions for collision detection algorithms 2022-12-30 00:45:01 +08:00
Diren D Bharwani 8ead885d0d Renamed CollisionShapeFactory to CollisionShapeLibrary 2022-12-30 00:44:08 +08:00
Diren D Bharwani 0df6e09ed6 Added box collision shapes 2022-12-24 13:32:50 +08:00
Diren D Bharwani 89f1f60064 Added physics settings menu for easily toggling debug draw states 2022-12-24 02:19:53 +08:00
Diren D Bharwani 22c0a14081 Renamed SHBox to SHAABB for clarity
The future SHBox will represent an OBB
2022-12-23 00:55:36 +08:00
Diren D Bharwani b667e4df87 Implemented axis locking constraints 2022-12-22 03:11:14 +08:00
Diren D Bharwani f4f6cb7eae Fixed sequential impulses 2022-12-22 01:10:25 +08:00
Diren D Bharwani 92ed8a29ff Fixed bug with non-dynamic masses being overriden 2022-12-21 19:04:10 +08:00
Diren D Bharwani d109d06764 Implemented sequential impulses using baumgarte stabilisation
There is a bug with masses of static bodies not being properly set
2022-12-21 18:57:10 +08:00
Diren D Bharwani 33ef5e0d3d Implemented accumulated impulses
untested
2022-12-21 01:10:28 +08:00
Diren D Bharwani 265a5bece8 Slight refactor to fix collision states for very fast moving objects 2022-12-21 00:40:01 +08:00
Diren D Bharwani b58b475c04 Separated collision detection and added contact manager 2022-12-20 23:10:23 +08:00
Diren D Bharwani 5def5392a1 Cleaned up CollisionKey object 2022-12-20 02:26:31 +08:00
Diren D Bharwani 751a16dcc3 Tested collision detection with collision states 2022-12-20 02:13:06 +08:00
Diren D Bharwani cf9d4ef04b Implemented backbone for collision detection with broadphase 2022-12-19 16:56:34 +08:00
Diren D Bharwani 24b13ed6e4 Refactored colliders to use parent-child transform logic 2022-12-16 18:34:53 +08:00
Diren D Bharwani a6e1064e64 Fixed bug where collider offsets were not recomputed 2022-12-16 15:03:55 +08:00
Diren D Bharwani 2bd90e7c14 Adjusted physics debug draw to fit new debug draw interface 2022-12-16 14:38:46 +08:00
Diren D Bharwani 1b91f60c4a Fixed warning with wrongly declared friends 2022-12-16 14:38:22 +08:00
Diren D Bharwani 6b8232ae91 Fixed bug where intertia tensors were not reset when unlocking axes 2022-12-16 02:02:20 +08:00
Diren D Bharwani 27c7a17397 Fixed computation of global inverse inertia tensor 2022-12-15 22:59:55 +08:00
Diren D Bharwani 53edffebac Added (untested) rotational motion to rigidbodies
Also added a temporary solution for debug drawing rotated spheres
2022-12-15 02:08:25 +08:00
Diren D Bharwani af3a5e7dc9 Re-implemented Collider Debug Drawing 2022-12-13 03:54:37 +08:00
Diren D Bharwani 0cebedeee0 Fixed compile errors with merged scene init and exit events 2022-12-11 20:44:40 +08:00
Diren D Bharwani bf8a410fa2 Fixed bug where colliders were not properly deserialised 2022-12-11 20:33:30 +08:00
Diren D Bharwani c1d7702914 Moved debug draw state to colliders. Synced collider positions with rigid bodies 2022-12-11 20:12:26 +08:00
Diren D Bharwani 74e50e10bd Refactored the colliders?
This took me 4 days omg
2022-12-09 01:15:43 +08:00
Diren D Bharwani 38b1c46d1f Added physics world and tested applied gravity for linear movement 2022-12-05 00:20:29 +08:00
Diren D Bharwani ca45a12186 Restructured Physics Systems & Interfaces 2022-12-04 17:31:22 +08:00
Diren D Bharwani 6cd203179a Added Rigid Body 2022-12-02 19:01:08 +08:00
Diren D Bharwani 52dc993941 goodbye react 2022-12-02 17:44:44 +08:00
Glence 413156dabb Merge branch 'main' into PlayerController 2022-11-25 15:45:35 +08:00
Diren D Bharwani 43a5cb4deb Reverted world extents computation 2022-11-25 14:05:43 +08:00
Glence c07fa3c5ae remove the clamp from the phsysicSystem routines
added cheats for maingame
added raycast for pick throw
2022-11-25 00:54:45 +08:00
Diren D Bharwani 6525a39df2 Added collision tags for raycasting. Does not apply to collider raycasting 2022-11-24 15:11:07 +08:00
Diren D Bharwani 3775df23a4 Debug draw is disabled on publish builds. 2022-11-24 14:43:41 +08:00
Diren D Bharwani a9bacc9e48 Fixed incorrect storing of world extents 2022-11-24 14:42:34 +08:00
Diren D Bharwani f6c74ad3d2 Fixed recurring bug with collision listener 2022-11-24 14:41:52 +08:00
Diren D Bharwani 7d7d40ba8e Debug draw is always enabled. 2022-11-24 12:02:08 +08:00
Diren D Bharwani 33ac1a868a Fixed wrongly returning fixed DT in managed code & collision listener bug 2022-11-24 01:46:29 +08:00
Glence 22972d7455 updated the music banks
update a tem fix for physicsSystem
2022-11-23 17:37:06 +08:00
Diren D Bharwani 9bdaea10f5 Fixed...another..bug...:( 2022-11-23 16:56:25 +08:00
Diren D Bharwani 4865a49bfa Fixed bug where rigidbody setters in the first frame causes a crash 2022-11-23 15:32:14 +08:00
Diren D Bharwani 1402139369 Fixed bug where colliders were not properly added with editor enabled 2022-11-23 13:30:28 +08:00
Diren D Bharwani 2523613732 Fixed fatal bug that prevent scene changing while the editor is enabled 2022-11-23 01:01:29 +08:00
Diren D Bharwani 62c4b3837d Fixed bug where transform dirty flags were not being properly cleared.
This was preventing bodies from going to sleep and transforms always updating.
2022-11-22 20:46:31 +08:00
Diren D Bharwani dab51ee4cf Readded testing function in physics routines for future use 2022-11-22 20:00:58 +08:00
Diren D Bharwani c18d58cba3 Fixed various physics bugs
Fixed bug where world was prebuilt and entity IDs were wrongly synced
Fixed collider properties not being synced in the first frame during mass property computations
Fixed static objects being wrongly updated post world update
2022-11-22 19:26:17 +08:00
Diren D Bharwani 23bae3d515 Fixed bug with Bounciness failing to serialise 2022-11-22 00:46:32 +08:00
Diren D Bharwani 1d692d3301 Physics works without SHEDITOR defines. Mass is temporarily auto computed. 2022-11-21 19:59:32 +08:00
Diren D Bharwani d4ad60ea79 Fix compile error with collision tags 2022-11-20 20:12:20 +08:00
Diren D Bharwani cada3acb8a Collision tags should be referenced by pointers 2022-11-20 18:30:18 +08:00
Diren D Bharwani 4ebc16564a Added collision matrix for configurating individual collision tags 2022-11-20 17:23:28 +08:00
Diren D Bharwani 4198310b7a Missing implementation for updating all tag names through the physics system 2022-11-20 15:34:34 +08:00
Diren D Bharwani a0f4f3b00a Added collision tag names file 2022-11-20 15:32:33 +08:00
Diren D Bharwani 7226ccf279 Tested Collision Tags 2022-11-20 03:16:49 +08:00
Diren D Bharwani 62433d1a53 Added Collision Tags 2022-11-20 02:35:02 +08:00
Diren D Bharwani 411c4a4e56 Added C# Interface for Raycasting
Untested with Scripts, tested engine side.
2022-11-19 04:21:46 +08:00
Diren D Bharwani 6b5b0387a9 Fixed bug where pausing then playing crashes physics 2022-11-18 18:31:07 +08:00
Diren D Bharwani b328d1df82 Added Physics Raycasts with Debug Drawing
Press F11 while the scene is playing to toggle debug drawing of rays.
2022-11-18 18:15:19 +08:00
Diren D Bharwani b3fbfce56f FIxed debug draw for offset colliders 2022-11-17 12:58:01 +08:00
Diren D Bharwani 360c55fa2b Disabled automass on rigid bodies 2022-11-17 12:27:00 +08:00
Diren D Bharwani 18218443ec Fixed a bug 2022-11-17 12:20:28 +08:00
Diren D Bharwani 7288894507 Fixed bug where adding colliders would fail to maintain previous collider sizes 2022-11-17 10:42:45 +08:00
Diren D Bharwani 39a8ca131f Fixed Collision & Trigger Messages not being cleared on deactivating objects 2022-11-17 00:11:55 +08:00
Diren D Bharwani a9f77d666c Fixed compile error 2022-11-16 00:04:56 +08:00
Diren D Bharwani f172ccb744 Added Automass and Sleep check for Rigidbodies 2022-11-15 23:58:08 +08:00
Diren D Bharwani e93eea6381 Cleaned up tools folder. Added debug only logging macros with _D suffix 2022-11-15 03:03:37 +08:00
Diren D Bharwani 10335f3033 Added syncing of physics materials & clear forces methods 2022-11-14 18:38:32 +08:00
Diren D Bharwani 9515fcca4f Renames & Bugfixes
Renamed BoundingBox & BoundingSphere to Box & Sphere
Forces are forcefully cleared
2022-11-14 15:35:02 +08:00
Diren D Bharwani fe1b9d14f5 Partial implementation of syncing SHADE and ReactPhysics active states 2022-11-14 00:25:24 +08:00
Diren D Bharwani d36d70e3eb Added a forced update to the physics system 2022-11-14 00:20:54 +08:00
Diren D Bharwani c98693c6bc missing change from last commit 2022-11-13 17:57:46 +08:00