soft body parameters

I am having troubles understanding the soft body physics. I created this very basic setup

And I have some questions:

1. Why do I have to crank up push and pull close to max? If I use anything less, the ball will just collapse
2. Why does the ball not roll quicker and stops completely at the end? I set friction to 0 at the colliders. What am I missing?

Why do I have to crank up push and pull close to max?

Because you're trying to use soft body physics to simulate a system that isn't soft.

Pull/push are a measure of each edge's resistance to stretch and compression. Without strong values, each edge can stretch and compress significantly. There are no forces created through the middle of the sphere, like you might expect-- think of it as more like a hollow rubber ball, where all forces lay on the surface. The thinner that rubber ball gets, the more likely it is to collapse, as the resistance to stretch and compression decreases.

If you want to simulate a solid rubber ball, you can do it by creating additional edges which create additional forces. Here, I'm doing it by extruding vertices, then merging at center:

Because this ball has more edges, and because those edges connect parts not otherwise connected, it can use smaller push/pull values, and it acts more like a solid rubber ball than a thin, hollow rubber ball.

Other options are to use cloth physics (which has pressure settings to simulate solidity) or to use rigid body physics (which do not collapse whatsoever.)

Why does the ball not roll quicker?

I think the biggest reason is that it is a very large ball. The ball is accelerated only via gravity. Blender's default gravity assumes a scale of 1 Blender unit = 1 meter. If you're using a default sphere for your soft body, you're simulating a sphere that could double as a hamster-sphere for a tall human. When things are big, they seem to fall more slowly-- particularly when there aren't any other cues for scale. (Placing an appropriately-scaled banana in this scene is recommended.) It's not that they fall more slowly, but they fall more slowly compared to their size. If this isn't the scale you wanted to be working with, increase your gravity in properties/scene/gravity.

However, in addition, it is losing velocity to damping, spoken about in the next section.

and stops completely at the end?

Every time the soft body passes into a collision body-- which it does during the physics cycle, after which it is moved back out of collision-- it loses some velocity from the collision damping. You can reduce the force of this collision damping on your collider's physics/collision/soft body & cloth settings. This collision damping helps with accuracy of collision, preventing objects from accidentally making it through your colliders, but it has the side of effect of absorbing some of their velocity. This is the bulk of the velocity loss.

The soft body itself also has edge damping. Each time the soft body collides, its edges-- including virtual edges, created by your bending parameter-- absorb some of the energy of that collision. This energy is then acted upon by damping, intended to prevent eternal jiggle. That damping is its own kind of internal friction. You can tune this on the soft body, in physics/softbody/edges/damp. This is a smaller part of the velocity loss, but not insignificant.

(In this particular case, it may also be related to the shape of the surface on which it lands-- I can't see the shape from your animation well enough to rule that out.)

Note that with neither friction nor damping, your ball won't roll at all. It will slide down the slope. Friction is essential to the act of rolling, not something that interferes with rolling.

• That explained so much. Thanks for this detailed answer. really helped to understand things better Commented Jun 28, 2022 at 8:23