Comments (4)
Thanks for the effort in making this repro! I can reproduce it locally but it is going to take some time to analyze this (these kinds of issues are very hard).
from joltphysics.
or that the meshes literally contain degenerate triangles
No, your mesh didn't contain any degenerate triangles that I encountered. The problem is that GJK built an internal representation of the overlap between the triangle and the capsule that consisted of a degenerate triangle.
Thanks for testing!
from joltphysics.
I managed to move your repro case to the Samples app so that I can debug it in MSVC (attaching it for future reference):
After a long debugging session it turned out to be a problem that I ran into before where inside the GJK algorithm a degenerate triangle was not detected as such and caused a wrong contact point. In this case it reported a penetration of 4 meter so the character got pushed out by 4 meters in 1 frame. Increasing the epsilon makes the problem go away (unfortunately I don't see a better way).
Could you try out #946 and tell me if this fixes all of your issues?
from joltphysics.
it turned out to be a problem that I ran into before where inside the GJK algorithm a degenerate triangle was not detected as such
To be clear, do you mean that the meshes in the repro were hitting what can be described as a degenerate case in the GJK algorithm, or that the meshes literally contain degenerate triangles? Unless I've made a silly mistake, the latter shouldn't be true.
Regardless, I tested #946 in the repro and in my actual application at all the known affected locations in the scene, and the high penetration / character-push issue no longer occurs. Thanks for digging into this!
EDIT: I don't know if you prefer reporters to close issues, but that's the button I clicked.
from joltphysics.
Related Issues (20)
- Avoid setting CMake configuration types as a subproject HOT 9
- `CylinderShape` vs `MeshShape` yields odd collision data HOT 4
- Placement new with Jolt allocators HOT 2
- GCC 13.2: warning: ISO C++ prohibits anonymous structs [-Wpedantic] HOT 2
- Some userdata variables are still uint32_t HOT 2
- Support multiple collisions per vertex for a soft body
- CharacterContactListener: add OnContactPersisted and OnContactRemoved HOT 3
- compile error. HOT 1
- How to set mass? HOT 1
- Question regarding objects lifecycle HOT 4
- How to move body during ContactAdded? HOT 1
- Use in Vision OS?
- Slightly incorrect documentation HOT 1
- Box can rotate while sliding due to friction being applied asymmetrically
- About override new object (不能通过内存的方式创建对象,对于重写了new的class) HOT 2
- Linker Failure: GetSubmergedVolume HOT 2
- DirectX Error HOT 5
- btMotionState equivalent? HOT 4
- Documentation: Syntax is not valid for JPH::ConvexHullShapeSettings HOT 2
- Weird issue with virtual character controller not hitting the ground in Firefox Emscripten HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from joltphysics.