Search Issue Tracker
By Design
Votes
0
Found in
5.3.5f1
Issue ID
812157
Regression
No
Identical configurable joint chains have different behavior depending on whether their colliders are trigger or not
Steps to reproduce:
1. Open attached project "812157"
2. Open scene "repro"
3. Select both phonelines objects in hierarchy to view GUI
4. Run scene
5. Notice that chains behave differently. This is because one chain has triggers while another one has colliders. The catch here is that collision matrix is set to prevent any collisions between colliders.
Reproduced with: 5.2.4f1, 5.3.6f1, 5.4.0f2, 5.5.0a4
Comments (1)
-
ac21217
Aug 18, 2016 02:32
I can't access the repro project, but I have a coupule suggestions:
1) Unity's physics are not deterministic. Two scenarios, no matter how similar, may play out differently in the physics engine.
2) I'm guessing that colliders marked as triggers aren't considered when accounting for a rigidbody's center of mass, so the individual links of the trigger-collider chain may have different COMS than their corresponding link in the other chain.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “Remove Unused Overrides” available on not loaded Scene and throws “ArgumentException: The scene is not loaded” warning
- Adaptive Probe Volume occlusion edge is calculated incorrectly when viewing probes near geometry edges
- Sampling a texture using an HLSL file throws shader errors and the code does not compile
- "Graphics.CopyTexture called with null source texture" error when Base Camera of an Overlay Camera is removed with DX11 Graphics API and Compatibility Mode enabled
- WebGL sends wrong value with large numbers when SendMessage function is used
Resolution Note:
The Physics Engine internally assumes that Triggers have no mass. This is an optimisation because Triggers can't interact with the environment and therefore they do not need to have their Inertia Tensor and Center of Mass values re-computed (it's a relatively expensive operation).
A valid workaround that we tested internally was to set up a duplicate set of objects with normal colliders instead of triggers, then for each object we would copy Inertia Tensor, Inertia Tensor Rotation and Center of Mass values from a collider to the equivalent trigger object. This results in much more similar behaviour.