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

Physics

-

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

  1. 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.

Comments (1)

  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

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.