Comments (4)
In general:
- Broadphase layer: each broad phase layer will result in it's own quad tree so you should not have too many of them. A static layer, dynamic layer, query shapes layer, triggers layer is roughly how we have things set up.
- Object layer: An object layer maps to one or more broadphase layers to test against, this allows you to very quickly discard large amounts of bodies.
- Group filter: Most expensive filtering (bounding boxes already overlap), used only during simulation. Allows you fine tune collision e.g. by discarding collisions between bodies connected by a constraint (see GroupFilterTable).
- Body filter: This filter is used instead of the group filter if you do collision queries like CastRay.
And you're right that the ObjectVsBroadPhaseLayerFilter and ObjectLayerPairFilter should have been interfaces. The interfaces in NarrowPhaseQuery used to be function pointers too at some point. I just didn't change these yet. I'll see if I can change this.
from joltphysics.
I guess the GroupFilter is the most flexible, but also the slowest one. Not sure exactly when this is really needed, maybe for very special cases like the player object ?
I found it necessary to provide my own group filter class to disable collisions between jointed objects, as it is not supported out-of-the-box by Jolt.
from joltphysics.
Was this change integrated? It looks like it wasn't, but maybe I wasn't looking in the right spot.
from joltphysics.
No the broadphase and object layer filters still don't have a context, I never got around to implementing it. It should only be a problem though if you have multiple PhysicsSystems in your application that use different layer configurations.
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
- Should DecoratedShapeSettings allow for raw pointers in its constructor? HOT 3
- Epsilon values in asserts causing issues in Debug builds HOT 9
- Automatic transmission HOT 2
- Crash in SkeletonMapperTest sample HOT 3
- [MSVC] Internal compiler error
- Compile error on Sample project HOT 5
- [Question] I intergrate JoltPhysics into my project with exception thrown HOT 1
- Is it possible to cast sphere ? HOT 2
- Misaligned ABI when using JPH_DOUBLE_PRECISION causes a problem on the VirtualCharacter HOT 13
- Slow HeightfieldShape Save/RestoreBinaryState HOT 2
- 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.