Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Rope Tunnels Through Even With Continuous Surface Collisions
#4
(31-08-2023, 01:54 AM)Rangasoup Wrote: The rope has a mass of 2 (Are the units per particle? Does that mean resolution and width affect the rope's kg/m?) and the object 1440, but tested with lower mass ratios as well, brought it down to 6 with no fix.

Yes, all units are per-particle. Changing resolution and width will affect density (mass per volume/length unit). The reason for this is that you're typically more interested in the mass ratio between a single particle and another object than the mass ratio of the entire rope vs another object.

On a side note, a mass ratio of 1:720 will break pretty much any physics engine (except for direct/reduced coordinates solvers). Always try to keep mass ratios below 1:10.

(31-08-2023, 01:54 AM)Rangasoup Wrote: I was using 6 substeps and all the other constraints were at 1 iteration. I bumped the collision constraints up to the same as the distance constraints and am using 100% relaxation now but it does not fix the problem.

I just tried a similar setup and couldn't reproduce any issues with 12 substeps, 1 iteration and a 1:5 mass ratio. Would it be possible for you to send your setup to support(at)virtualmethodstudio.com so that I can take a closer look?


(31-08-2023, 01:54 AM)Rangasoup Wrote: How is collision resolved for SDF colliders? When continuous collision creates that velocity-based bounding box, are nearest contact points predicted, or does it only add more colliders to check for the broad-phase?

Obi uses speculative contacts for CCD. It sweeps bounding boxes (of both particles and rigidbodies) by their velocity, and then generates a contact constraint between their closest points. Velocities and positions of both are then constrained so that the contact planes don't cross each other.

(31-08-2023, 01:54 AM)Rangasoup Wrote: I am wondering if the particle goes deep enough into the SDF, and if collision pushes it out in direction of the gradient, then maybe it is being pushed out in the seemingly wrong direction because the particle is going past the local minima/center of the SDF in a single step?

Yes, this is how it works. However a particle can only get past/inside the SDF if all previous contact detect&solve attempts have failed or if another constraint has forced it inside the SDF after contact constraints have been solved, both situations are very rare.

SDF collision detection in Obi is based on the following article, FYI:
https://mmacklin.com/sdfcontact.pdf

(31-08-2023, 01:54 AM)Rangasoup Wrote: Also, I imagine it's the case that Obi physics is aware of Unity physics, but not vice-versa. So, for example, if an object moves fast enough in a single step that it phases through a stationary taught rope, there is no way for Obi's continuous collision to detect that?

Nope, Obi predicts rigidbody position/orientation and uses this information during CCD checks. Rigidbodies shouldn't be able to go trough stationary ropes even if it's speed is large compared to rope thickness.

Note however that CCD isn't perfect. In particular, collision detection is performed only once per step (see: http://mmacklin.com/smallsteps.pdf). If a particle is pushed trough an object during a constraint solve, there's no way to prevent this (only solution would be to perform full collision detection/resolution after every single constraint iteration, which is of course impractical).

kind regards
Reply


Messages In This Thread
RE: Rope Tunnels Through Even With Continuous Surface Collisions - by josemendez - 31-08-2023, 07:56 AM