10-09-2018, 03:47 PM
(This post was last modified: 10-09-2018, 03:53 PM by arrnav96.
Edit Reason: Attachment
)
(10-09-2018, 01:45 PM)josemendez Wrote: You're describing how mass works in real life: when two objects of different mass collide, they push each other with the same force, but the resulting acceleration for each object depends on its mass:On testing further, I tried keeping mass of sphere and slime equal, with respect to what you just mentioned.
Code:f = ma; a = f/m
In layman's terms: the heaviest object will "push" the lightest one.
In your case: when a heavy ball falls on top of light cloth, it will displace cloth vertices out of its way much more easily than a light ball would. Note that the "stiffness" of the cloth is the same in both cases, so the cloth can easily sustain a light ball, but not a heavy one. This is the reason why heavier objects will pass trough the cloth: it is simply not stiff enough to withstand the weight.
Note that you can set the mass of the cloth in a per-particle basis using the particle editor. So if you need the ball to be heavy, just make the cloth accordingly heavy so that it will resist the weight of the ball. If you really need light cloth to be able to withstand the weight of a very heavy ball, increase the amount of distance constraint iterations (and/or solver substeps) to allow the solver to spend more time on making the cloth stiff. See:
http://obi.virtualmethodstudio.com/tutor...olver.html
In the general case, pretty much all physics engines have trouble with high mass ratios. The typical practical limit is 1/10: no object should be more than 10 times heavier than the lightest one.
Also note that placing a ObiParticleRenderer on your cloth is a great way of debugging collisions, as it allows you to see cloth particles:
http://obi.virtualmethodstudio.com/tutor...ering.html
I've tried keeping both in same phase as well as different phases. I've tried changing thickness of slime. I've tried changing stiffness of the slime. Literally everything is giving the same result - The sphere passes through.
The sphere STILL passes through after bending the slime. I've kept both their masses as "1". Also both use primitive colliders. The slime uses a Box collider for it's plane. The sphere uses a sphere collider.
I've attached the settings in their respective inspectors, as well as the arrangement of the two gameobjects.
This is getting very confusing. I understand that physics engines have trouble with collision tunneling. But that's with huge mass ratios or very high velocities. I don't understand why such a simple simulation results in the object passing through.