![]() |
|
Help Chains jitter when surface collsions are turned on - Printable Version +- Obi Official Forum (https://obi.virtualmethodstudio.com/forum) +-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html) +--- Forum: Obi Rope (https://obi.virtualmethodstudio.com/forum/forum-4.html) +--- Thread: Help Chains jitter when surface collsions are turned on (/thread-4656.html) |
Chains jitter when surface collsions are turned on - mechabit - 21-09-2026 Using the chains from the sample scene in a new scene with a large cube for a floor. When surface collisions are off they sit still on a large cube but when surface collisions are on they jitter about. I need the surface collision turned on otherwise a thin rope will pass right through the chain. The rope doesn't jitter with surface collision on. The rope has a thickness of 0.04 and resolution 0.113 and has surface collisions on The chain has thickness 0.1 and resolution 0.43 I've tried having more or less substeps in the solver, only using cpu backend cos nothing appears on the gpu backend What's the solution to have chains that don't allow ropes to pass through and doesn't jitter? RE: Chains jitter when surface collsions are turned on - mechabit - 21-09-2026 For the moment I've given up on surface collisions and just went with a higher resolution rope but I'm trying to add as many ropes to the scene as I can. RE: Chains jitter when surface collsions are turned on - josemendez - 21-09-2026 Quote:The rope doesn't jitter with surface collision on. There's zero difference between chains and ropes simulation wise: they're the same, the only difference is the component used to draw them (ObiRopeExtrudedRenderer for ropes, and ObiRopeChainRenderer for "chains"). Surface collisions have some inherent jitter to them because of the way they work (a single contact point for each segment), as explained in the "shortcomings" section in the manual's surface collision page. This applies only to collisions against collider though, not between ropes/chains. You can reduce this by increasing the amount of surface collision iterations and surface collision tolerance in the ObiSolver settings. kind regards, RE: Chains jitter when surface collsions are turned on - mechabit - 21-09-2026 (21-09-2026, 07:04 AM)josemendez Wrote: There's zero difference between chains and ropes simulation wise: they're the same, the only difference is the component used to draw them Thanks for the reply What's the best way to prevent ropes from passing through each other? I'm trying to make a game about untangling ropes and they pass through each other with not much force Also when I put a knot into a rope I can just pull on it and the knot passes through itself (self collision is on) RE: Chains jitter when surface collsions are turned on - josemendez - 21-09-2026 (21-09-2026, 07:11 AM)mechabit Wrote: Thanks for the reply They shouldn't pass unless you're ignoring two-way coupling, see the included "TangledRopes" sample scene. It does not use surface collisions yet rope tangling is quite robust. The key thing is that when moving ropes around, you must not ignore the forces they exert on whatever is moving them. For example if you attach them to an object and then move the object by directly manipulating its transform (eg transform.posicion = something), ropes will easily pass trough each other and other objects in the scene since the transform is completely ignoring physics. Instead, manipulate the rope using forces, which is physically consistent. This can be done in many ways: by directly modifying the solver's externalForces or velocities arrays, by having a dynamic attachment to a rigidbody and then modifying the rigid body's velocity, by calling AddForce on the rigidbody, etc. What this accomplishes is that when the ropes are taut, the forces moving them around are cancelled by the forces exerted by the rope, so you can't keep pulling them when physically impossible. See "tips and tricks" in the attachments manual page. RE: Chains jitter when surface collsions are turned on - mechabit - 21-09-2026 I tested it in the sample scene and I've attached a video show what I mean When you pull on a rope with a knot the knot passes through itself and untangles, one end it pinned down to make it easier to show I'm not even pulling very hard Is there no way to prevent this? youtube link in case the attachment didn't work: https://youtu.be/RHrpVuRANog RE: Chains jitter when surface collsions are turned on - josemendez - 21-09-2026 (21-09-2026, 01:30 PM)mechabit Wrote: I tested it in the sample scene and I've attached a video show what I mean I’m unable to reproduce this. I assume you’re using the included ObiParticleDragger component, in that case what’s the force of the spring you’re using? (and the mass of your rope?) I need to use really extreme force values for this to happen. RE: Chains jitter when surface collsions are turned on - mechabit - 21-09-2026 (21-09-2026, 04:13 PM)josemendez Wrote: I’m unable to reproduce this. I assume you’re using the included ObiParticleDragger component, in that case what’s the force of the spring you’re using? (and the mass of your rope?) This is the default setting in the colliding ropes sample RE: Chains jitter when surface collsions are turned on - josemendez - 22-09-2026 (21-09-2026, 05:01 PM)mechabit Wrote: This is the default setting in the colliding ropes sample 4 substeps is very few. That scene only uses 4 because the ropes in it are under no tension at all. For a taut rope under tension, use at least 8-12 substeps. |