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
- Rigidbody2D.Slide API does not have the needed configuration when creating a 2D Top-Down character controller
- Opening reference for "Playables"component redirects to a missing page
- Sprite Renderer image is changed when switching Mask Interaction and changing Sprite to a shared Sprite
- An unsigned integer is not compared with an integer correctly in player when using IL2CPP backend
- Graphical artifacts are being rendered in Scenes that are loaded during run-time when GPU Resident Drawer is turned on
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.