17-08-2021, 08:06 AM
(This post was last modified: 17-08-2021, 08:25 AM by josemendez.)
(16-08-2021, 03:11 PM)Elmundo Wrote: It works because you have tested the ropes whose Surface-based collision is not enabled
Nope, I enabled surface-based collisions on all of them. This is clearly visible in the two ropes that collide against the cylinder. If they had no surface collisions enabled, they'd pass right trough it since the gaps in-between particles are very large.
Here's another video showing that. It also shows the overstretching issue at the end. The rope is perfectly still and stable until I overstretch it, jittering appears because the rope can't both keep its length and still collide with the rope it's tangled around. Either constraint must be violated, so it alternates between both. The solution as I mentioned is using forces to move the end rigidbodies, instead of forcing their position. A real-world rope would simply break/snap in that situation.
Also, using some friction for collisions (right now you're using no collision materials) will help with unwanted contact sliding. With no friction, there's no virtually no energy loss upon contact and the ropes will slide around for a very long time. This is specially noticeable when wrapping the two weighted ropes around the cylinder, right they slide side to side very easily as if the cylinder was made of ice.
Another parameter you can tweak is surface collision iterations. Increasing the amount iterations will improve surface collision convergence, if that's what you're after. This setting is global for the entire solver, you can find it in the ObiSolver component: http://obi.virtualmethodstudio.com/manua...olver.html