Comments (3)
I think we should do the first for explicitness as well. It also lets you move the checks to construction, which should be much faster.
from avian.
You can observe pathological behavior on the negative end with min combine rule + a value of e.g. -999.
from avian.
Yeah I think this would be a good idea. I can come up with a few potential use cases for bodies gaining kinetic energy on contact, like a game where a ball gets faster each time it hits something, but this might not be considered good practice due to the explosion risk, and I think it's better to do this manually since it allows for more control.
It seems that Unity clamps each material's restitution coefficient between 0 and 1 regardless of the combine rule, so you can't have e.g. 0.5 and 2.0, which would be 1.0 with CoefficientCombine::Multiply
. Instead, it will be automatically changed to 0.5 and 1.0, which would be just 0.5.
The main question is, should we clamp both coefficients individually like Unity does, or just clamp the effective, combined coefficient? The second option allows you to multiply e.g. 0.5 and 2.0 to get 1.0, but the first option might be more explicit in that the restitution coefficients are explicitly set to 1.0 even if you try to use a larger value, instead of internally using a separate clamped value for the effective coefficient of each contact.
For explicitness and clarity, I'm leaning on the first option, but I can see why the second option could be useful as well.
from avian.
Related Issues (20)
- Tracking issue: Improve examples
- Allow manipulation of `ColliderConstructor` at runtime
- Fix one way example
- The documentation of `ShapeHitData` says the points are in local space, but they're in world space
- Panic using a ColliderConstructor to create a collider from a Gltf mesh. HOT 2
- Make `AncestorMarker` reflect `Component` and add it to the type registry.
- Add `with_included_entities` to the SpatialQuery system param
- GravityScale::default() should be 1.0
- Implement joint motors
- Implement multibody joints, aka articulations
- Implement ground detection
- Implement a component for configuring which types of bodies a collider can collide with HOT 1
- Negative scales coming from an ancestor are ignored by colliders HOT 3
- `RayCaster.ignore_self` doesn't ignore colliders in children HOT 1
- Unexpected behavior with `LockedAxes` and rotations after upgrading from `0.1.0` to `0.1.1` HOT 1
- Make physics entity creation more difficult to mess up HOT 1
- Document components and resources needed for rollback HOT 1
- Incorrect CenterOfMass for ColliderConstructorHierarchy with scale up transform
- Make collision reporting opt-in HOT 2
- No error if entity has transform but not global transform.
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 avian.