17-03-2022, 04:01 PM
(This post was last modified: 17-03-2022, 04:12 PM by josemendez.)
(17-03-2022, 03:43 PM)locque Wrote: Say I want to make a physics bowl containing some fluid that you can stir. I would make a bowl model, and then create a bunch of box colliders roughly tracing the shape of he the bowl since Unity only supports convex colliders for rigidbody physics.
Obi doesn't have any problems with concave colliders, looks like the convex check box on the referenced mesh collider is just ignored by the obi collider that uses it. But I still can't have my concave bowl because Obi seems to require an enabled, non-trigger Unity collider component to work. That means any mesh collider on the bowl will also inevitably affect the regular rigidbody physics, and the rigidbody will always be forced to use a convex version of the mesh collider that obi uses.
Am I missing something or is there no way to have a concave rigidbody that interacts with obi particles?
Hi!
Not sure I understand your use case: Unity simply does not support non-kinematic concave MeshColliders, however Obi does.
So in the case of a bowl, Obi will use its original, concave mesh to collide against even if Unity isn’t capable of doing that. That’s why convex MeshColliders are regarded concave in Obi.
You can approximate your bowl with boxes or any other primitive so both Unity and Obi can regard it as concave. Or, use a distance field if you want Obi to use a more accurate representation of it instead of a bunch of boxes.
Also, in case you want a collider to affect particles only:
remember that Unity’s and Obi’s collision filtering/layer systems are separate: you can make a Unity collider ignore other colliders, but still have particles collide against it if that’s what you want.