31-08-2023, 07:46 AM
(This post was last modified: 05-09-2023, 10:06 PM by josemendez.)
(30-08-2023, 10:57 PM)Henning Wrote: If there is none, the first trick that I can think of is to create the rings with obi ropes, rather than thin shell meshes.
Hi!
I'm assuming you're using MeshColliders for the rings, this is rather frail since they have infinitely thin surfaces and won't recover from any missed collisions.
Using signed distance fields (or a "ring" of capsule colliders) instead of MeshColliders will improve robustness (and performance) without the need for using ropes. Anyway, the thinner the ring the more prone to tunneling it will be regardless of the type of collider you use.
(30-08-2023, 10:57 PM)Henning Wrote: Another way to cheat is to add a constraint that says one of the particles has to be at the centre of the ring with the same orientation, but how can I add such a constraint to the solver (if possible)?
It's not currently possible to inject position-level custom constraints in the main solver loop. You could however add a velocity-level constraint (essentially a force) that drives the closest point in the rope towards the ring center. See the manual for details on how to access particle data:
http://obi.virtualmethodstudio.com/manua...icles.html
To get the closest point in the rope, you can iterate trough its elements and project the ring's center onto them. See: http://obi.virtualmethodstudio.com/manua...ropes.html
kind regards,