Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Compound colliders in 3.2
#1
Hi,

Looking at the documentation, it appears that prior to ObiRope 3.2, an ObiColliderGroup was used to specify colliders considered for the simulation, but now the ObiCollider component is added to specific objects instead. This does seem easier, but I'm running into problems setting up objects in my scene that have multiple colliders on them. If I attach an ObiCollider to, say, a desk that has 3 box colliders to represent its shape (a top and two sides), the ObiCollider seems to pick just one to represent as its physics source. Adding multiple ObiColliders doesn't seem to have the desired effect, either. How do I go about having an object represented by multiple colliders fully interact with the rope simulation without having to split it into multiple sub-objects or having to manually script the instantiation/assignment of ObiColliders to each collider component?

Thanks in advance!
Reply
#2
(09-10-2017, 11:54 PM)CageyKG Wrote: Hi,

Looking at the documentation, it appears that prior to ObiRope 3.2, an ObiColliderGroup was used to specify colliders considered for the simulation, but now the ObiCollider component is added to specific objects instead. This does seem easier, but I'm running into problems setting up objects in my scene that have multiple colliders on them. If I attach an ObiCollider to, say, a desk that has 3 box colliders to represent its shape (a top and two sides), the ObiCollider seems to pick just one to represent as its physics source. Adding multiple ObiColliders doesn't seem to have the desired effect, either. How do I go about having an object represented by multiple colliders fully interact with the rope simulation without having to split it into multiple sub-objects or having to manually script the instantiation/assignment of ObiColliders to each collider component?

Thanks in advance!

Hi there,

Adding multiple colliders to a single object is usually not the right way to make a compound collider. This doesn't work as one would expect most of the time (specially when dealing with joints).

The correct way to do it is to parent multiple game objects under your main object, each one with their own Collider/ObiCollider pair of components. Your mesh however can still be a single mesh, no need to split it. This has the added benefit that adjusting the colliders is much easier, as you can use their transform to rotate/translate/scale them. This method is encouraged by Unity in their docs.

See: (look for the "Compound Colliders" section)
https://docs.unity3d.com/Manual/class-Rigidbody.html

Edit: Prior to Unity 4.3, adding multiple colliders to a single object was in fact impossible. While using parenting is still preferred, we'll look into adding support for multiple colliders per ObiCollider component in the future.
Reply