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
-
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
- Assertion failed on expression: 'scriptedImporterClass == SCRIPTING_NULL error when opening the standalone profiler window
- Disabled assets in Import Unity Package window aren't tracked but count as being selected by user
- [Windows] Crash on GetManagerFromContext when video is playing and creating High Definition 3D Projects after FMOD failed to switch back to normal output Error appeared
- GC Alloc produced when adding items to MultiColumnListView with Auto Assign Binding
- Mouse and Pointer Events are called incorrectly in ScrollView with XRUIInputModule
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.