ConvexBodyProximityQueries.jl
JoltPhysics
ConvexBodyProximityQueries.jl | JoltPhysics | |
---|---|---|
1 | 26 | |
22 | 5,595 | |
- | - | |
1.8 | 9.6 | |
over 2 years ago | 3 days ago | |
Julia | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ConvexBodyProximityQueries.jl
-
GJK: Collision detection algorithm in 2D/3D
I should be writing a thesis about AI but got inside the collision rabbit hole so I have this fresh.
From the description of the algorithm you are doing I think you are thinking about Lin-Canny or V-Clip, which certainly may have that kind of numerical error problems.
GJK has also numerical problems but they are different. In principle it shouldn't be affected by coplanarity of several faces since you just need the vertex with highest support for a given direction. It could be a problem if you find the support point by hill climbing from vertex to vertex. GJK however does have numerical problems but they are of a different kind related to the degeneracy of the simplices it computes.
But you are so right about the subtetly of the problem: there is a very fine thread between infinite looping and incorrect answers. I have been bitten by this trying to implement geometric algos. There should be a special hell for people that output coplanar faces.
I know one of Bullet Physics/MuJoCo has the GJK, not remember which one. If anyone is curious I know of two Julia implementations:
https://github.com/JuliaRobotics/EnhancedGJK.jl
and my favorite: https://github.com/arlk/ConvexBodyProximityQueries.jl
This latter one is great as you are just required to implement the support function and are ready to go. Julia performance is great if you are concerned about using a dynamic language (i.e: ~2us for collision between two convex bodies of 1000 faces each)
Finally, about the convex hull computation it looks like some kind of solved problem, I mean, O(n log(n)) for 3D. Wrong!!!! QHull in this regard is fantastic as it has several heuristics to solve problems caused by finite precision, not to mention that I think worse case is O(n^2) as it doesn't implement the asymptotically optimal algo (not sure...). If you scale to more dimensions, which could happen even in if 3D because you transformed your problem to a convex hull problem you will be hit with O(n^2), bad news. There are several other libraries (CCD, LRSLib and more) that allow you to use arbitrary precision but you will get something like a 100x penalization for the luxury.
JoltPhysics
- Simulation Islands
-
Bevy XPBD: A physics engine for the Bevy game engine
There is now also https://github.com/jrouwe/JoltPhysics which is used in Horizon Forbidden West.
-
Has anyone used Jolt physics engine?
Apparenty, this is a game engine used by Horizon Forbidden West and I was curious what you all think about this project: https://github.com/jrouwe/JoltPhysics
- After months of work, I'm excited to share the first release of Godot Jolt, an extension that integrates the Jolt physics engine into Godot, demonstrated using GDQuest's RoboBlast
-
Rust – Are We Game Yet?
As far as physics engines go: Jolt currently seems to kinda disrupt the decade-long equilibrium, at least as far as I'm aware:
https://github.com/jrouwe/JoltPhysics
-
X4's Upcoming Multiplayer Features Are a Huge Step Forward
No, they replaced Bullet with Jolt. That is considerably more than "some adjustment", regardless of what you think of the result.
-
Oof. 7fps for an incredibly simple rocket that is well under 100 parts.
A multithreaded rigid-body engine for games: https://github.com/jrouwe/JoltPhysics
- zig-gamedev project: zphysics v0.0.4 - Zig API and C API for Jolt Physics
-
Godot for AA/AAA game development – What's missing?
Would you rather they use Jolt Physics? https://github.com/jrouwe/JoltPhysics S&box is thinking of using this engine instead of Source 2's Rubicon. As they say, maybe someone could / would hook up Jolt as a GDExtension.
- Where and how can I learn to make simulation programs? I like to be a simulation developer!
What are some alternatives?
BEPUphysics - Pure C# 3D real time physics simulation library, now with a higher version number.
GeometricAlgorithms - Geometric Algorithms implemented for Java Processing v3
tinyphysicsengine
EnhancedGJK.jl - GJK signed distance algorithm for convex bodies in Julia
Bullet - Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
clipper-lib - Boolean operations and offsetting library in Javascript
godot-jolt - Godot Jolt is a Godot extension that integrates the Jolt physics engine
Asteroid_game_with_physics - Asteroid game minimal working physics using GJK Algorithm on Java Processing v3.5
small3dlib
rapier - 2D and 3D physics engines focused on performance.
PhysX - NVIDIA PhysX SDK